From e37b1dfd022bda4dfdcba243c0543c62c89db32f Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 29 Mar 2019 09:01:36 +0800 Subject: *misc --- source/libs/asura-lib-utils/scripting/lua_env.h | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'source/libs/asura-lib-utils/scripting/lua_env.h') 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; }; -- cgit v1.1-26-g67d0