summaryrefslogtreecommitdiff
path: root/Source/3rdParty/Luax/luax_state.inl
diff options
context:
space:
mode:
Diffstat (limited to 'Source/3rdParty/Luax/luax_state.inl')
-rw-r--r--Source/3rdParty/Luax/luax_state.inl30
1 files changed, 7 insertions, 23 deletions
diff --git a/Source/3rdParty/Luax/luax_state.inl b/Source/3rdParty/Luax/luax_state.inl
index c9a95f6..63f849f 100644
--- a/Source/3rdParty/Luax/luax_state.inl
+++ b/Source/3rdParty/Luax/luax_state.inl
@@ -2,8 +2,7 @@ namespace Luax
{
///
- /// עṤΪעinterface tableclass tabletype nameΪƿռϡע׶βԪȵNew
- /// õʱŻᡣ
+ /// עṤעclass tabletype nameΪƿռϡע׶βԪȵNewõʱŻᡣ
///
template<typename T>
void LuaxState::RegisterFactory()
@@ -14,20 +13,7 @@ namespace Luax
int top = lua_gettop(L); // namespace table
assert(lua_istable(L, top));
- // 1) interface table
- lua_newtable(L);
- LuaxClass<T>::RegisterLuaxInterface(state);
- T::RegisterLuaxInterface(state);
-
- // interface table[__index] = interface table
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
-
- LuaxClass<T>::SetLuaxInterfaceTableRef(state, -1);
-
- lua_settop(L, top);
-
- // 2) class table
+ // class table
lua_newtable(L);
LuaxClass<T>::RegisterLuaxClass(state);
LuaxClass<T>::RegisterLuaxFactoryClass(state);
@@ -45,14 +31,12 @@ namespace Luax
// .Extend()
lua_pushvalue(state, -1); // class table
- LuaxClass<T>::PushLuaxInterfaceTable(state); // interface table
- lua_pushcclosure(state, LuaxClass<T>::l_ExtendFactory, 2);
+ lua_pushcclosure(state, LuaxClass<T>::l_ExtendFactory, 1);
lua_setfield(state, -2, "Extend");
- // .GetInterfaceTable()
- LuaxClass<T>::PushLuaxInterfaceTable(state); // interface table
- lua_pushcclosure(state, LuaxClass<T>::l_GetInterfaceTable, 1);
- lua_setfield(state, -2, "GetInterfaceTable");
+ // class["__index"] = class
+ lua_pushvalue(state, -1); // class table
+ lua_setfield(state, -2, "__index");
LuaxClass<T>::SetLuaxClassTableRef(state, -1);
@@ -67,7 +51,7 @@ namespace Luax
}
///
- /// Singletonֻһclass tableûinterface table
+ /// Singleton
///
template<typename T>
void LuaxState::RegisterSingleton()