summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-utils/scripting/lua_env.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-29 00:43:25 +0800
committerchai <chaifix@163.com>2019-03-29 00:43:25 +0800
commitf4c338c63f3456a8eccd56c35e233843687d55be (patch)
tree7278fe4723320c9ef310c5a04d92bf0be1bc778c /source/libs/asura-lib-utils/scripting/lua_env.h
parent3bced067a4144381e59ce4bd0eb749eeff5ad1f4 (diff)
*thread
Diffstat (limited to 'source/libs/asura-lib-utils/scripting/lua_env.h')
-rw-r--r--source/libs/asura-lib-utils/scripting/lua_env.h28
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: