diff options
author | chai <chaifix@163.com> | 2019-03-12 00:39:26 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-12 00:39:26 +0800 |
commit | 70b82d1981c0de3c7b77670ff8abcfeb26815142 (patch) | |
tree | f69c05bcd204cc3f9bf745be37a2ba5911e52436 /Source/3rdParty/Luax/luax_class.inl | |
parent | c19a282e10f51ddd50d198b903f8fbd5a2238b62 (diff) |
*misc
Diffstat (limited to 'Source/3rdParty/Luax/luax_class.inl')
-rw-r--r-- | Source/3rdParty/Luax/luax_class.inl | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/Source/3rdParty/Luax/luax_class.inl b/Source/3rdParty/Luax/luax_class.inl new file mode 100644 index 0000000..23d4c28 --- /dev/null +++ b/Source/3rdParty/Luax/luax_class.inl @@ -0,0 +1,76 @@ + +//---------------------------------------------------------------------------------------------------------------- +// ӿ + +/// +/// ԲͬͣͨGetLuaClassName +/// +template<class T> +int LuaxClass::l_GetClassName(lua_State* L) +{ + LUAX_SETUP(L, "*"); + + cc8* type = T::GetLuaxClassName(); + state.Push(type); + return 1; +} + +//---------------------------------------------------------------------------------------------------------------- + +/// +/// עṤ͵еԱ +/// +template<class T> +void LuaxClass::RegisterLuaxClass(LuaxState& state) +{ + luaL_Reg regTable[] = { + { "GetClassName", l_GetClassName<T> }, + { NULL, NULL } + }; + + state.Register(regTable); +} + + +/// +/// ijԱעclass table +/// +template<class T> +void LuaxClass::RegisterLuaxFactoryClass(LuaxState& state) +{ + luaL_Reg regTable[] = { + { "Extend", l_ExtendFactory }, + { NULL, NULL } + }; + + state.Register(regTable); +} + + +/// +/// ʵijԱעinterface table +/// +template<class T> +void LuaxClass::RegisterLuaxInterface(LuaxState& state) +{ + luaL_Reg regTable[] = { + { "__gc", l_GC }, + { NULL, NULL } + }; + + state.Register(regTable); +} + + +/// +/// ijԱעclass table +/// +template<class T> +void LuaxClass::RegisterLuaxSingletonClass(LuaxState& state) +{ + luaL_Reg regTable[] = { + {NULL, NULL} + }; + + state.Register(regTable); +}
\ No newline at end of file |