diff options
| author | chai <chaifix@163.com> | 2019-03-17 20:36:39 +0800 |
|---|---|---|
| committer | chai <chaifix@163.com> | 2019-03-17 20:36:39 +0800 |
| commit | 34fe8e795aaeed3a9f50d895d1cadd8f124c9605 (patch) | |
| tree | 9242101b5d08474bf68aefe1c9ea8bb024a8cfb1 /Source/3rdParty/Luax/luax_state.inl | |
| parent | af78bbf9f1ea499be92611aa4a63664d79d13b25 (diff) | |
*luax
Diffstat (limited to 'Source/3rdParty/Luax/luax_state.inl')
| -rw-r--r-- | Source/3rdParty/Luax/luax_state.inl | 11 |
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); |
