From 8644e03586ac9c39741f62cbcbce87b18805538c Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 14 Mar 2019 23:12:54 +0800 Subject: =?UTF-8?q?*=E5=A4=A7=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/Samples/LuaxTest/main.cpp | 51 +++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 6 deletions(-) (limited to 'Source/Samples/LuaxTest/main.cpp') diff --git a/Source/Samples/LuaxTest/main.cpp b/Source/Samples/LuaxTest/main.cpp index fdcf29a..a629da6 100644 --- a/Source/Samples/LuaxTest/main.cpp +++ b/Source/Samples/LuaxTest/main.cpp @@ -53,7 +53,7 @@ void School::RegisterLuaxClass(LuaxState& state) { NULL, NULL } }; - state.Register(regTable); + state.RegisterMethods(regTable); } @@ -101,11 +101,8 @@ int Boy::l_New(lua_State* L) int Boy::l_GetAge(lua_State* L) { LUAX_SETUP(L, "U"); - Boy* self = state.GetLuaUserdata(1); - state.Push(self->mAge); - return 1; } @@ -135,7 +132,19 @@ void Boy::RegisterLuaxClass(LuaxState& state) {NULL, NULL} }; - state.Register(regTable); + state.RegisterMethods(regTable); + + // boyµÄ°®ºÃ + LuaxEnum EHabits[] = { + { "Computer", 1}, + { "Buscketball", 2}, + { "Baseball", 3}, + { "Girls", 4}, + {0, 0} + }; + + state.RegisterEnum("EHabits", EHabits); + } void Boy::RegisterLuaxInterface(LuaxState& state) @@ -146,7 +155,21 @@ void Boy::RegisterLuaxInterface(LuaxState& state) {NULL, NULL} }; - state.Register(regTable); + state.RegisterMethods(regTable); +} + +void Boy::RegisterLuaxPostprocess(LuaxState& state) +{ + // boyµÄ°®ºÃ + LuaxEnum EHabits[] = { + { "Computer", 1}, + { "Buscketball", 2}, + { "Baseball", 3}, + { "Girls", 4}, + {0, 0} + }; + + state.RegisterEnum("EHabits", EHabits); } //---------------------------------------------------------------------------------------------------------------- @@ -203,6 +226,11 @@ function main() end print(Asura.SimBoy.Foo()) + print(Asura.EGender.BOY) + --Asura.EGender.BOY = 2 + print(Asura.EGender.BOY) + print(Asura.SimBoy.EHabits.Girls) + print(Asura.EHabits.Girls) end function err(msg) print(msg) @@ -227,6 +255,17 @@ int main() Luax::LuaxState& state = runtime[L].state; state.OpenLibs(); state.PushNamespace("Asura"); + + //×¢²áenum + LuaxEnum EGender[] = { + { "BOY", 7 }, + { "GIRL", 8 }, + { "MID", 9 }, + { 0, 0 }, + }; + + state.RegisterEnum("EGender", EGender); + state.PushNamespace("author"); state.SetField(-1, "name", "chai"); state.SetField(-1, "func", func); -- cgit v1.1-26-g67d0