From f706f0e17ac2e7893feddc96b496db89f35e94a8 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 10 Nov 2021 19:49:15 +0800 Subject: *misc --- .../Libraries/GameLab/Events/Event.lua | 10 ++++++++++ .../Libraries/GameLab/Events/init.lua | 9 +++++++++ Data/Libraries/GameLab/Editor/GUI/IMGUI.lua | 10 ++++++++++ Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua | 4 ++-- "Documents/\347\252\227\345\217\243.xlsx" | Bin 1445520 -> 1536912 bytes Projects/VisualStudio/Editor/Editor.vcxproj | 5 +---- .../VisualStudio/Editor/Editor.vcxproj.filters | 18 +++--------------- Runtime/Lua/LuaBind/LuaBindInvoker.cpp | 4 ++-- Runtime/Lua/LuaBind/LuaBindInvoker.h | 12 ++++-------- Runtime/Lua/LuaBind/LuaBindLFunction.h | 21 +++++++++++++++++++++ 10 files changed, 62 insertions(+), 31 deletions(-) create mode 100644 Data/DefaultContent/Libraries/GameLab/Events/Event.lua create mode 100644 Data/DefaultContent/Libraries/GameLab/Events/init.lua create mode 100644 Data/Libraries/GameLab/Editor/GUI/IMGUI.lua create mode 100644 Runtime/Lua/LuaBind/LuaBindLFunction.h 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/\347\252\227\345\217\243.xlsx" "b/Documents/\347\252\227\345\217\243.xlsx" index 17bf94c..ceb1118 100644 Binary files "a/Documents/\347\252\227\345\217\243.xlsx" and "b/Documents/\347\252\227\345\217\243.xlsx" 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 @@ + @@ -320,10 +321,6 @@ - - - - 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 @@ {47032dd6-dca2-478f-b594-d08c0b22e119} - - {86d0c80c-7c35-425d-87c8-0529ef352650} - {dbc5b9a8-4107-4324-aa71-e6a9a7b6d23d} @@ -552,18 +549,6 @@ Runtime\Graphics - - Runtime\Lua\LuaBind\signal - - - Runtime\Lua\LuaBind\signal - - - Runtime\Lua\LuaBind\signal - - - Runtime\Lua\LuaBind\signal - Runtime\Lua\LuaBind @@ -750,6 +735,9 @@ Runtime\Lua\LuaBind + + Runtime\Lua\LuaBind + 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 -- cgit v1.1-26-g67d0