| @@ -0,0 +1,28 @@ | |||
| { | |||
| "configurations": [ | |||
| { | |||
| "name": "Mac", | |||
| "includePath": ["/usr/include"], | |||
| "browse" : { | |||
| "limitSymbolsToIncludedHeaders" : true, | |||
| "databaseFilename" : "" | |||
| } | |||
| }, | |||
| { | |||
| "name": "Linux", | |||
| "includePath": ["/usr/include"], | |||
| "browse" : { | |||
| "limitSymbolsToIncludedHeaders" : true, | |||
| "databaseFilename" : "" | |||
| } | |||
| }, | |||
| { | |||
| "name": "Win32", | |||
| "includePath": ["c:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include", "src"], | |||
| "browse" : { | |||
| "limitSymbolsToIncludedHeaders" : true, | |||
| "databaseFilename" : "" | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| @@ -66,6 +66,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{B629 | |||
| EndProject | |||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_lolimgui", "..\doc\tutorial\15_lolimgui.vcxproj", "{81C83B42-D00A-4FA3-9A3D-80F9D46524BF}" | |||
| EndProject | |||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14_lol_lua", "..\doc\tutorial\14_lol_lua.vcxproj", "{31B96262-1C41-43B9-BA38-27AA385B05DB}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|ORBIS = Debug|ORBIS | |||
| @@ -308,6 +310,18 @@ Global | |||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|Win32.Build.0 = Release|Win32 | |||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|x64.ActiveCfg = Release|x64 | |||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|x64.Build.0 = Release|x64 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|ORBIS.ActiveCfg = Debug|ORBIS | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|ORBIS.Build.0 = Debug|ORBIS | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|Win32.ActiveCfg = Debug|Win32 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|Win32.Build.0 = Debug|Win32 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|x64.ActiveCfg = Debug|x64 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Debug|x64.Build.0 = Debug|x64 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|ORBIS.ActiveCfg = Release|ORBIS | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|ORBIS.Build.0 = Release|ORBIS | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|Win32.ActiveCfg = Release|Win32 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|Win32.Build.0 = Release|Win32 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|x64.ActiveCfg = Release|x64 | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB}.Release|x64.Build.0 = Release|x64 | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| @@ -341,5 +355,6 @@ Global | |||
| {73F1A804-1116-46C3-922A-9C0ADEB33F52} = {4C4BD478-3767-4C27-BD91-DAAFE7CD03A2} | |||
| {B6297FF2-63D0-41EE-BE13-EFF720C9B0FA} = {1AFD580B-98B8-4689-B661-38C41132C60E} | |||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF} = {E74CF679-CA2A-47E9-B1F4-3779D6AC6B04} | |||
| {31B96262-1C41-43B9-BA38-27AA385B05DB} = {E74CF679-CA2A-47E9-B1F4-3779D6AC6B04} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -37,18 +37,26 @@ public: | |||
| //------------------------------------------------------------------------- | |||
| static int AddFive(lua_State* l) | |||
| { | |||
| LuaInt32 i; i.Get(l, 1); | |||
| LuaStack stack(l); | |||
| int32_t i = stack.GetVar<int32_t>(); | |||
| //LuaInt32 i; i.Get(l, 1); | |||
| i += 5; | |||
| return i.Return(l); | |||
| } | |||
| //return i.Return(l); | |||
| return stack.SetVar(i).Return(); | |||
| } | |||
| static int AddTenInstance(lua_State* l) | |||
| { | |||
| LuaStack stack(l); | |||
| LuaDemoObjectPtr obj; | |||
| LuaFloat f; | |||
| stack >> obj >> f; | |||
| DemoObject* obj = nullptr; // stack.GetPtr<DemoObject>(); | |||
| float f = stack.GetVar<float>(); | |||
| //LuaDemoObjectPtr obj; | |||
| //LuaFloat f; | |||
| //stack >> obj >> f; | |||
| f = obj->AddTenMethod(f); | |||
| return f.Return(l); | |||
| //return f.Return(l); | |||
| return 0;// stack.SetVar(f).SetPtr().Return(); | |||
| } | |||
| float AddTenMethod(float f) | |||
| { | |||
| @@ -4,12 +4,12 @@ Size=400,400 | |||
| Collapsed=0 | |||
| [testature] | |||
| Pos=266,15 | |||
| Pos=187,98 | |||
| Size=494,359 | |||
| Collapsed=0 | |||
| [SO FUN !!] | |||
| Pos=30,24 | |||
| Pos=16,24 | |||
| Size=113,99 | |||
| Collapsed=0 | |||
| @@ -883,6 +883,24 @@ public: | |||
| return lua_gettop(m_state); | |||
| } | |||
| //------------------------------------------------------------------------- | |||
| template<typename T> | |||
| T GetVar(T defaultValue = 0, bool isOptional = false) | |||
| { | |||
| return Var<T>(defaultValue, m_state, m_index, isOptional).GetValue(); | |||
| } | |||
| //------------------------------------------------------------------------- | |||
| template<typename T> | |||
| Stack& SetVar(T& value) | |||
| { | |||
| m_result += Var<T>(value, m_state, m_index).Return(m_state); | |||
| return *this; | |||
| } | |||
| //------------------------------------------------------------------------- | |||
| int32_t Return() { return m_result; } | |||
| //------------------------------------------------------------------------- | |||
| template<typename T> | |||
| Stack& operator>>(T& var) | |||
| @@ -891,42 +909,6 @@ public: | |||
| return *this; | |||
| } | |||
| /* | |||
| template<typename T> | |||
| Stack& operator>>(Var<T>& var) | |||
| { | |||
| var = Var<T>(var.GetValue(), m_state, m_index, var.IsOptional()); | |||
| return *this; | |||
| } | |||
| template<typename T> | |||
| Stack& operator>>(Var<T>& var) | |||
| { | |||
| var = Var<T>(var.GetValue(), m_state, m_index, var.IsOptional()); | |||
| return *this; | |||
| } | |||
| template<typename T> | |||
| Stack& operator>>(VarPtr<T>& var) | |||
| { | |||
| var = VarPtr<T>(m_state, m_index); | |||
| return *this; | |||
| } | |||
| */ | |||
| /* | |||
| template<typename T> | |||
| Stack& operator>>(T& var) | |||
| { | |||
| Var<T> ret(m_state, m_index); | |||
| var = ret.GetValue(); | |||
| return *this; | |||
| } | |||
| template<typename T> | |||
| Stack& operator>>(VarPtrLight<T>& var) | |||
| { | |||
| var = VarPtrLight<T>(m_state, m_index); | |||
| return *this; | |||
| } | |||
| */ | |||
| //------------------------------------------------------------------------- | |||
| template<typename T> | |||
| Stack& operator<<(T& var) | |||
| @@ -934,27 +916,6 @@ public: | |||
| m_result += var.Return(m_state); | |||
| return *this; | |||
| } | |||
| /* | |||
| template<typename T> | |||
| Stack& operator<<(T& var) | |||
| { | |||
| Var<T> ret(var, false); | |||
| m_result += ret.Return(m_state); | |||
| return *this; | |||
| } | |||
| template<typename T> | |||
| Stack& operator<<(VarPtr<T>& var) | |||
| { | |||
| m_result += var.Return(m_state); | |||
| return *this; | |||
| } | |||
| template<typename T> | |||
| Stack& operator<<(VarPtrLight<T>& var) | |||
| { | |||
| m_result += var.Return(m_state); | |||
| return *this; | |||
| } | |||
| */ | |||
| private: | |||
| lua_State* m_state = nullptr; | |||