diff options
Diffstat (limited to 'source/libs/asura-lib-utils/scripting')
-rw-r--r-- | source/libs/asura-lib-utils/scripting/lua_env.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/source/libs/asura-lib-utils/scripting/lua_env.h b/source/libs/asura-lib-utils/scripting/lua_env.h index a467479..3bef3df 100644 --- a/source/libs/asura-lib-utils/scripting/lua_env.h +++ b/source/libs/asura-lib-utils/scripting/lua_env.h @@ -16,21 +16,41 @@ namespace AsuraEngine { /// - /// ͨӿڷlua state + /// ͨӿڷlua stateAsura˼ǣ߳άһluaӦõҪڴlua + /// ߽߳ջ /// class LuaEnv ASURA_FINAL : public Singleton<LuaEnv> { public: - LuaEnv() : mMainState(0){}; + LuaEnv() : mMainState(0) {}; ~LuaEnv() {}; /// /// ִջ /// - inline void Init(lua_State* L) { ASSERT(!mMainState); mMainState = L; }; + inline void Init() + { + ASSERT(!mMainState); + // ߳ + mMainState = Luax::LuaxRuntime::Get().Open(); + ASSERT(mMainState); + }; - inline lua_State* GetMainState() { return mMainState; }; + inline lua_State* GetMainState() + { + return mMainState; + }; + + inline Luax::LuaxState& GetMainLuaxState() + { + return Luax::LuaxRuntime::Get()[mMainState].state; + }; + + inline void Exit() + { + Luax::LuaxRuntime::Get().Close(mMainState); + } private: |