diff options
author | chai <chaifix@163.com> | 2019-03-17 10:49:50 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-17 10:49:50 +0800 |
commit | ad2805aa839892589c13a615730da52f6e474709 (patch) | |
tree | f818bbacee347f8d64d9134ffe4fbda366ba87fe /Source/Samples/LuaxTest/main.cpp | |
parent | fb830270c5269a22819a0c0f1ee280f9aa3f1b39 (diff) |
*luax
Diffstat (limited to 'Source/Samples/LuaxTest/main.cpp')
-rw-r--r-- | Source/Samples/LuaxTest/main.cpp | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/Source/Samples/LuaxTest/main.cpp b/Source/Samples/LuaxTest/main.cpp index d9bd315..65cdaa1 100644 --- a/Source/Samples/LuaxTest/main.cpp +++ b/Source/Samples/LuaxTest/main.cpp @@ -16,7 +16,9 @@ using namespace Luax; //---------------------------------------------------------------------------------------------------------------- -class School : Singleton<School> +class School + : public Singleton<School> + , public LuaxClass<School> { public: @@ -153,13 +155,16 @@ int Boy::l_Write(lua_State* L) void Boy::RegisterLuaxClass(LuaxState& state) { - state.SetField(-1, "Class", 101); // 101 - state.SetField(-1, "Gender", "Male"); // 101 - luaL_Reg regTable[] = { + // class functions { "New", l_New }, { "GetGender", l_GetGender }, - {NULL, NULL} + // members + { "GetAge", l_GetAge }, + { "GetName", l_GetName }, + { "Write", l_Write }, + { "Speak", l_Speak }, + { 0, 0} }; state.RegisterMethods(regTable); @@ -176,19 +181,6 @@ void Boy::RegisterLuaxClass(LuaxState& state) state.RegisterEnum("EHabits", EHabits); } -void Boy::RegisterLuaxInterface(LuaxState& state) -{ - luaL_Reg regTable[] = { - { "GetAge", l_GetAge }, - { "GetName", l_GetName }, - { "Write", l_Write }, - { "Speak", l_Speak }, - {NULL, NULL} - }; - - state.RegisterMethods(regTable); -} - void Boy::RegisterLuaxPostprocess(LuaxState& state) { // boyİ @@ -231,7 +223,8 @@ int main() state.OpenLibs(); state.PushGlobalNamespace(); state.PushNamespace("Asura"); - + state.RegisterPlainClassRegistry("Class"); // Asura.Class("Foo") + state.RegisterPlainEnumRegistry("Enum"); // Asura.Enum("EFoo", { ... }); //עenum LuaxEnum EGender[] = { { "BOY", 7 }, |