summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-10 19:49:15 +0800
committerchai <chaifix@163.com>2021-11-10 19:49:15 +0800
commitf706f0e17ac2e7893feddc96b496db89f35e94a8 (patch)
tree5daa1df2c19ced5518efb57ab70e5def78b243e2
parentfd646350b566dbe274b65b775029bd45b05e22bd (diff)
*misc
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Events/Event.lua10
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Events/init.lua9
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/IMGUI.lua10
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua4
-rw-r--r--Documents/窗口.xlsxbin1445520 -> 1536912 bytes
-rw-r--r--Projects/VisualStudio/Editor/Editor.vcxproj5
-rw-r--r--Projects/VisualStudio/Editor/Editor.vcxproj.filters18
-rw-r--r--Runtime/Lua/LuaBind/LuaBindInvoker.cpp4
-rw-r--r--Runtime/Lua/LuaBind/LuaBindInvoker.h12
-rw-r--r--Runtime/Lua/LuaBind/LuaBindLFunction.h21
10 files changed, 62 insertions, 31 deletions
diff --git a/Data/DefaultContent/Libraries/GameLab/Events/Event.lua b/Data/DefaultContent/Libraries/GameLab/Events/Event.lua
new file mode 100644
index 0000000..37fbc84
--- /dev/null
+++ b/Data/DefaultContent/Libraries/GameLab/Events/Event.lua
@@ -0,0 +1,10 @@
+local Event = {}
+GameLab.Events.Event = Event
+
+Event.current = {}
+
+Event.SetCurrentEvent = function(evt)
+ Event.current = evt
+end
+
+return Event \ No newline at end of file
diff --git a/Data/DefaultContent/Libraries/GameLab/Events/init.lua b/Data/DefaultContent/Libraries/GameLab/Events/init.lua
new file mode 100644
index 0000000..2448676
--- /dev/null
+++ b/Data/DefaultContent/Libraries/GameLab/Events/init.lua
@@ -0,0 +1,9 @@
+local Events = GameLab.Events or{}
+GameLab.Events = Events
+
+local import = GameLab.import(...)
+
+import("Event")
+
+
+return Events \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua b/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua
new file mode 100644
index 0000000..334b569
--- /dev/null
+++ b/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua
@@ -0,0 +1,10 @@
+local imgui = GameLab.Editor.GUI or {}
+GameLab.Editor.GUI = imgui
+
+local Event = GameLab.Events.Event
+
+imgui.Button = function()
+
+end
+
+return imgui \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
index 25bcc12..214eed6 100644
--- a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
+++ b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
@@ -15,9 +15,9 @@ local ESplitMode = GameLab.GlobalEnum("GameLab.Editor.GUI.ESplitMode", {
SplitWindow.Ctor = function(self)
self.m_Splitter = {}
self.m_SplitMode = ESplitMode.Horizontal
- self.m_GUIWindow = nil
+ self.m_GUIWindows = {}
self.m_Parent = nil -- 父节点也是一个split window
- self.m_Children = {} -- 子节点也是split windows
+ self.m_SubSplit = {} -- 子节点也是split windows
end
SplitWindow.DoSplit = function(self)
diff --git a/Documents/窗口.xlsx b/Documents/窗口.xlsx
index 17bf94c..ceb1118 100644
--- a/Documents/窗口.xlsx
+++ b/Documents/窗口.xlsx
Binary files differ
diff --git a/Projects/VisualStudio/Editor/Editor.vcxproj b/Projects/VisualStudio/Editor/Editor.vcxproj
index 0d9bd11..dc727bb 100644
--- a/Projects/VisualStudio/Editor/Editor.vcxproj
+++ b/Projects/VisualStudio/Editor/Editor.vcxproj
@@ -312,6 +312,7 @@
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindInternal.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindInvoker.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindLClass.h" />
+ <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindLFunction.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindMemberRef.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindRef.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindRefTable.h" />
@@ -320,10 +321,6 @@
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindUtility.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindVM.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindWatchDog.h" />
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\bind.h" />
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\remove_from_container.h" />
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\signal.h" />
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\slot.h" />
<ClInclude Include="..\..\..\Runtime\Lua\LuaHelper.h" />
<ClInclude Include="..\..\..\Runtime\Math\AABB.h" />
<ClInclude Include="..\..\..\Runtime\Math\FloatConversion.h" />
diff --git a/Projects/VisualStudio/Editor/Editor.vcxproj.filters b/Projects/VisualStudio/Editor/Editor.vcxproj.filters
index 2b04b8f..84ad96b 100644
--- a/Projects/VisualStudio/Editor/Editor.vcxproj.filters
+++ b/Projects/VisualStudio/Editor/Editor.vcxproj.filters
@@ -79,9 +79,6 @@
<Filter Include="Editor\GUI\IMGUI">
<UniqueIdentifier>{47032dd6-dca2-478f-b594-d08c0b22e119}</UniqueIdentifier>
</Filter>
- <Filter Include="Runtime\Lua\LuaBind\signal">
- <UniqueIdentifier>{86d0c80c-7c35-425d-87c8-0529ef352650}</UniqueIdentifier>
- </Filter>
<Filter Include="Runtime\Profiling">
<UniqueIdentifier>{dbc5b9a8-4107-4324-aa71-e6a9a7b6d23d}</UniqueIdentifier>
</Filter>
@@ -552,18 +549,6 @@
<ClInclude Include="..\..\..\Runtime\Graphics\Shader.h">
<Filter>Runtime\Graphics</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\remove_from_container.h">
- <Filter>Runtime\Lua\LuaBind\signal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\signal.h">
- <Filter>Runtime\Lua\LuaBind\signal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\slot.h">
- <Filter>Runtime\Lua\LuaBind\signal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\signal\bind.h">
- <Filter>Runtime\Lua\LuaBind\signal</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindHelper.h">
<Filter>Runtime\Lua\LuaBind</Filter>
</ClInclude>
@@ -750,6 +735,9 @@
<ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindLClass.h">
<Filter>Runtime\Lua\LuaBind</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\Runtime\Lua\LuaBind\LuaBindLFunction.h">
+ <Filter>Runtime\Lua\LuaBind</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\Runtime\Lua\LuaBind\LuaBindClass.inc">
diff --git a/Runtime/Lua/LuaBind/LuaBindInvoker.cpp b/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
index a95ef5c..bd12e5c 100644
--- a/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
+++ b/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
@@ -43,9 +43,9 @@ namespace LuaBind
{
method.PushRef(state);
state.Call(argc, nReturns, onErrorOccured);
+ argc = 0;
}
-
-
+
void MemberInvoker::AddInt(int n)
{
state.Push(n);
diff --git a/Runtime/Lua/LuaBind/LuaBindInvoker.h b/Runtime/Lua/LuaBind/LuaBindInvoker.h
index edb0725..45a4e63 100644
--- a/Runtime/Lua/LuaBind/LuaBindInvoker.h
+++ b/Runtime/Lua/LuaBind/LuaBindInvoker.h
@@ -11,13 +11,9 @@ namespace LuaBind
// ȫlua
struct GlobalInvoker
{
- GlobalInvoker(lua_State* st)
- : state(st)
- {
- argc = 0;
- }
- UniversalRef method;
+ UniversalRef method;
+ GlobalInvoker(lua_State* st) : state(st), argc(0) {}
void AddInt(int n);
void AddFloat(float n);
void AddNil();
@@ -30,9 +26,9 @@ namespace LuaBind
++argc;
}
- void Invoke(int nReturns);
+ virtual void Invoke(int nReturns);
- private:
+ protected:
State state;
int argc;
};
diff --git a/Runtime/Lua/LuaBind/LuaBindLFunction.h b/Runtime/Lua/LuaBind/LuaBindLFunction.h
new file mode 100644
index 0000000..1ad6fa0
--- /dev/null
+++ b/Runtime/Lua/LuaBind/LuaBindLFunction.h
@@ -0,0 +1,21 @@
+#pragma once
+#include "LuaBindInvoker.h"
+
+namespace LuaBind
+{
+ struct LuaFunction : public GlobalInvoker
+ {
+ const char* method; // full name
+
+ LuaFunction(lua_State* L, const char* func)
+ : GlobalInvoker(L)
+ , method(func)
+ {}
+
+ void Invoke(int nReturns) override
+ {
+
+ }
+ };
+
+} \ No newline at end of file