summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-utils/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/asura-lib-utils/scripting')
-rw-r--r--source/libs/asura-lib-utils/scripting/lua_env.h24
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;
};