X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FGameLayer.cc;h=d68522ee1a8ef826c3730927342a19597135d536;hp=8f2f4ec006d953ae70bfe5083b38385d0eb4abc5;hb=4107dd30ca1a4c7d1a5cd6c0999b9afb5adff779;hpb=58c1f9a499d3bb80ea2869b29c714f61e656d48d diff --git a/src/GameLayer.cc b/src/GameLayer.cc index 8f2f4ec..d68522e 100644 --- a/src/GameLayer.cc +++ b/src/GameLayer.cc @@ -43,8 +43,8 @@ void GameLayer::loadSceneLoader() throw Mf::Error(Mf::Error::SCRIPT_ERROR, str); } - mState.script.getGlobalTable().pushField("scenes"); - mState.script.getTop().get(mState.sceneList); + mState.script.globals().pushField("scenes"); + mState.script.top().get(mState.sceneList); if (mState.sceneList.size() == 0) { throw Mf::Error(Mf::Error::SCRIPT_ERROR, @@ -69,17 +69,14 @@ void GameLayer::advanceScene(Mf::Settings& settings) throw Mf::Error(Mf::Error::SCRIPT_ERROR, str); } - mState.script.getGlobalTable().pushField("Event"); - if (mState.script[-1].isTable()) + Mf::Script::Slot table = mState.script.globals().pushField("Event"); + if (table.isTable()) { - mState.script[-1].pushField("Think"); - mState.script.set("Think", Mf::Script::REGISTRY); - mState.script.pop(2); - } - else - { - mState.script.pop(); + mState.script.push("Think"); + table.pushField("Think"); + mState.script.registry().setField(); } + mState.script.pop(); } } @@ -149,7 +146,7 @@ void GameLayer::update(Mf::Scalar t, Mf::Scalar dt) void GameLayer::thinkTimer() { - mState.script.getRegistryTable().pushField("Think"); + mState.script.registry().pushField("Think"); if (mState.script[-1].isFunction()) mState.script.call(); else mState.script.pop(); }