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.inl11
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/3rdParty/Luax/luax_state.inl b/Source/3rdParty/Luax/luax_state.inl
index 63245bb..712eb1d 100644
--- a/Source/3rdParty/Luax/luax_state.inl
+++ b/Source/3rdParty/Luax/luax_state.inl
@@ -26,6 +26,7 @@ namespace Luax
Pop();
_assertmethod(-1, "New");
+ //_assertmethod(-1, "__gc");
#undef _assertmethod
@@ -65,16 +66,18 @@ namespace Luax
// class table.
lua_newtable(L);
LuaxNativeClass<T>::RegisterLuaxClass(state);
- LuaxNativeClass<T>::RegisterLuaxFactoryClass(state);
+ LuaxNativeClass<T>::RegisterLuaxSingletonClass(state);
T::RegisterLuaxClass(state);
LuaxNativeClass<T>::SetLuaxClassTableRef(state, -1);
- // class table__index__newindexָ
lua_pushvalue(state, -1);
lua_setfield(state, -2, "__index");
- lua_pushvalue(state, -1);
- lua_setfield(state, -2, "__newindex");
+
+ // .Extend()
+ lua_pushvalue(state, -1); // class table
+ lua_pushcclosure(state, LuaxNativeClass<T>::l_ExtendSingleton, 1);
+ lua_setfield(state, -2, "Extend");
cc8* type = T::GetLuaxSingletonName();
SetField(top, type);