summaryrefslogtreecommitdiff
path: root/source/3rd-party/Luax/luax_runtime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/3rd-party/Luax/luax_runtime.cpp')
-rw-r--r--source/3rd-party/Luax/luax_runtime.cpp36
1 files changed, 22 insertions, 14 deletions
diff --git a/source/3rd-party/Luax/luax_runtime.cpp b/source/3rd-party/Luax/luax_runtime.cpp
index b45d36a..dcf7b92 100644
--- a/source/3rd-party/Luax/luax_runtime.cpp
+++ b/source/3rd-party/Luax/luax_runtime.cpp
@@ -27,61 +27,69 @@ namespace Luax
assert(L);
// 1)
- mContexts.insert(pair<lua_State*, LuaxContext>(L, LuaxContext(L)));
+ mContexts.insert(pair<lua_State*, LuaxVM*>(L, new LuaxVM(L)));
// 2) ʼcontext
(*this)[L].Setup();
return L;
}
-
+/*
+ lua_State* LuaxRuntime::CreateThread(lua_State* main)
+ {
+ lua_State* thread = lua_newthread(main);
+ mContexts.insert(pair<lua_State*, LuaxVM*>(thread, mContexts[main]));
+ return thread;
+ }
+*/
void LuaxRuntime::Close(lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
if (it != mContexts.end())
{
- lua_close(it->second.state);
+ lua_close(it->second->state);
mContexts.erase(it);
}
}
bool LuaxRuntime::HasLuaxState(lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
return it != mContexts.end();
}
LuaxState& LuaxRuntime::GetLuaxState(lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
if (it != mContexts.end())
{
- return it->second.state;
+ return it->second->state;
}
}
LuaxRefTable& LuaxRuntime::GetStrongRefTable(lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
if (it != mContexts.end())
{
- return it->second.strongRefTable;
+ return it->second->strongRefTable;
}
}
LuaxRefTable& LuaxRuntime::GetWeaksRefTable(lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
if (it != mContexts.end())
{
- return it->second.weakRefTable;
+ return it->second->weakRefTable;
}
}
- LuaxContext& LuaxRuntime::operator[](lua_State* L)
+ LuaxVM& LuaxRuntime::operator[](lua_State* L)
{
- map<lua_State*, LuaxContext>::iterator it = mContexts.find(L);
+ map<lua_State*, LuaxVM*>::iterator it = mContexts.find(L);
assert(it != mContexts.end());
- return it->second;
+
+ return *it->second;
}
}