| @@ -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 | EndProject | ||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_lolimgui", "..\doc\tutorial\15_lolimgui.vcxproj", "{81C83B42-D00A-4FA3-9A3D-80F9D46524BF}" | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_lolimgui", "..\doc\tutorial\15_lolimgui.vcxproj", "{81C83B42-D00A-4FA3-9A3D-80F9D46524BF}" | ||||
| EndProject | EndProject | ||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14_lol_lua", "..\doc\tutorial\14_lol_lua.vcxproj", "{31B96262-1C41-43B9-BA38-27AA385B05DB}" | |||||
| EndProject | |||||
| Global | Global | ||||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
| Debug|ORBIS = Debug|ORBIS | 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|Win32.Build.0 = Release|Win32 | ||||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|x64.ActiveCfg = Release|x64 | {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|x64.ActiveCfg = Release|x64 | ||||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF}.Release|x64.Build.0 = 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 | EndGlobalSection | ||||
| GlobalSection(SolutionProperties) = preSolution | GlobalSection(SolutionProperties) = preSolution | ||||
| HideSolutionNode = FALSE | HideSolutionNode = FALSE | ||||
| @@ -341,5 +355,6 @@ Global | |||||
| {73F1A804-1116-46C3-922A-9C0ADEB33F52} = {4C4BD478-3767-4C27-BD91-DAAFE7CD03A2} | {73F1A804-1116-46C3-922A-9C0ADEB33F52} = {4C4BD478-3767-4C27-BD91-DAAFE7CD03A2} | ||||
| {B6297FF2-63D0-41EE-BE13-EFF720C9B0FA} = {1AFD580B-98B8-4689-B661-38C41132C60E} | {B6297FF2-63D0-41EE-BE13-EFF720C9B0FA} = {1AFD580B-98B8-4689-B661-38C41132C60E} | ||||
| {81C83B42-D00A-4FA3-9A3D-80F9D46524BF} = {E74CF679-CA2A-47E9-B1F4-3779D6AC6B04} | {81C83B42-D00A-4FA3-9A3D-80F9D46524BF} = {E74CF679-CA2A-47E9-B1F4-3779D6AC6B04} | ||||
| {31B96262-1C41-43B9-BA38-27AA385B05DB} = {E74CF679-CA2A-47E9-B1F4-3779D6AC6B04} | |||||
| EndGlobalSection | EndGlobalSection | ||||
| EndGlobal | EndGlobal | ||||
| @@ -37,18 +37,26 @@ public: | |||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| static int AddFive(lua_State* l) | 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; | i += 5; | ||||
| return i.Return(l); | |||||
| } | |||||
| //return i.Return(l); | |||||
| return stack.SetVar(i).Return(); | |||||
| } | |||||
| static int AddTenInstance(lua_State* l) | static int AddTenInstance(lua_State* l) | ||||
| { | { | ||||
| LuaStack stack(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); | f = obj->AddTenMethod(f); | ||||
| return f.Return(l); | |||||
| //return f.Return(l); | |||||
| return 0;// stack.SetVar(f).SetPtr().Return(); | |||||
| } | } | ||||
| float AddTenMethod(float f) | float AddTenMethod(float f) | ||||
| { | { | ||||
| @@ -4,12 +4,12 @@ Size=400,400 | |||||
| Collapsed=0 | Collapsed=0 | ||||
| [testature] | [testature] | ||||
| Pos=266,15 | |||||
| Pos=187,98 | |||||
| Size=494,359 | Size=494,359 | ||||
| Collapsed=0 | Collapsed=0 | ||||
| [SO FUN !!] | [SO FUN !!] | ||||
| Pos=30,24 | |||||
| Pos=16,24 | |||||
| Size=113,99 | Size=113,99 | ||||
| Collapsed=0 | Collapsed=0 | ||||
| @@ -883,6 +883,24 @@ public: | |||||
| return lua_gettop(m_state); | 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> | template<typename T> | ||||
| Stack& operator>>(T& var) | Stack& operator>>(T& var) | ||||
| @@ -891,42 +909,6 @@ public: | |||||
| return *this; | 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> | template<typename T> | ||||
| Stack& operator<<(T& var) | Stack& operator<<(T& var) | ||||
| @@ -934,27 +916,6 @@ public: | |||||
| m_result += var.Return(m_state); | m_result += var.Return(m_state); | ||||
| return *this; | 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: | private: | ||||
| lua_State* m_state = nullptr; | lua_State* m_state = nullptr; | ||||