diff options
Diffstat (limited to 'source/libs/asura-lib-utils/scripting')
-rw-r--r-- | source/libs/asura-lib-utils/scripting/lua_env.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/source/libs/asura-lib-utils/scripting/lua_env.h b/source/libs/asura-lib-utils/scripting/lua_env.h index 3bef3df..bae6c4c 100644 --- a/source/libs/asura-lib-utils/scripting/lua_env.h +++ b/source/libs/asura-lib-utils/scripting/lua_env.h @@ -23,7 +23,7 @@ namespace AsuraEngine { public: - LuaEnv() : mMainState(0) {}; + LuaEnv() : mVM(0) {}; ~LuaEnv() {}; /// @@ -31,25 +31,21 @@ namespace AsuraEngine /// inline void Init() { - ASSERT(!mMainState); - // ߳ - mMainState = Luax::LuaxRuntime::Get().Open(); - ASSERT(mMainState); + ASSERT(!mVM); + mVM = new Luax::LuaxVM(); + ASSERT(mVM); + mVM->Setup(); }; - inline lua_State* GetMainState() + inline lua_State* GetMainThread() { - return mMainState; - }; - - inline Luax::LuaxState& GetMainLuaxState() - { - return Luax::LuaxRuntime::Get()[mMainState].state; + return mVM->GetMainThread(); }; inline void Exit() { - Luax::LuaxRuntime::Get().Close(mMainState); + delete mVM; + mVM = nullptr; } private: @@ -64,7 +60,7 @@ namespace AsuraEngine /// global_State̹߳˵һ߳lua_newstate()⣬߳lua_newthread() /// /// - lua_State* mMainState; + Luax::LuaxVM* mVM; }; |