summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-11 18:27:36 +0800
committerchai <chaifix@163.com>2021-11-11 18:27:36 +0800
commit0e0aa82ab2ebc9f15519cea710a52c5895690152 (patch)
tree57e91039458549dadb4e904d537be26fe792b855
parent36f42b74630d4bca2d1d276d57c4c967d0290380 (diff)
* rename Editor.GUI to Editor.Window
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Engine/GUI/IMGUI.lua39
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Engine/GUI/init.lua3
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Engine/Math/Rect.lua4
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/IMGUI.lua10
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/init.lua9
-rw-r--r--Data/Libraries/GameLab/Editor/Window/ContainerWindow.lua (renamed from Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua)4
-rw-r--r--Data/Libraries/GameLab/Editor/Window/FontManager.lua (renamed from Data/Libraries/GameLab/Editor/GUI/FontManager.lua)0
-rw-r--r--Data/Libraries/GameLab/Editor/Window/GUIWindow.lua (renamed from Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua)15
-rw-r--r--Data/Libraries/GameLab/Editor/Window/SplitWindow.lua (renamed from Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua)10
-rw-r--r--Data/Libraries/GameLab/Editor/Window/init.lua9
-rw-r--r--Data/Scripts/EditorApplication.lua2
-rw-r--r--Data/Scripts/EditorGUI/EditorWindowManager.lua6
-rw-r--r--Data/boot.lua3
-rw-r--r--Editor/EditorGlobals.h3
-rw-r--r--Editor/GUI/GUIWindow.cpp4
-rw-r--r--Editor/GUI/IMGUI/GUIButton.cpp0
-rw-r--r--Editor/Scripting/EditorScripting.cpp6
-rw-r--r--Editor/Scripting/Window/ContainerWindow.bind.cpp (renamed from Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp)0
-rw-r--r--Editor/Scripting/Window/EditorGUI.bind.cpp (renamed from Editor/Scripting/EditorGUI/EditorGUI.bind.cpp)8
-rw-r--r--Editor/Scripting/Window/GUIWindow.bind.cpp (renamed from Editor/Scripting/EditorGUI/GUIWindow.bind.cpp)2
-rw-r--r--Editor/Scripting/Window/SplitWindow.bind.cpp (renamed from Editor/Scripting/EditorGUI/SplitWindow.bind.cpp)0
-rw-r--r--Projects/VisualStudio/Editor/Editor.vcxproj10
-rw-r--r--Projects/VisualStudio/Editor/Editor.vcxproj.filters42
-rw-r--r--Runtime/Events/InputEvent.cpp4
-rw-r--r--Runtime/Lua/LuaBind/LuaBindInvoker.cpp2
-rw-r--r--Runtime/Scripting/RuntimeScriptGlobals.cpp5
-rw-r--r--Runtime/Scripting/RuntimeScriptGlobals.h5
27 files changed, 131 insertions, 74 deletions
diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/GUI/IMGUI.lua b/Data/DefaultContent/Libraries/GameLab/Engine/GUI/IMGUI.lua
new file mode 100644
index 0000000..f8cc33b
--- /dev/null
+++ b/Data/DefaultContent/Libraries/GameLab/Engine/GUI/IMGUI.lua
@@ -0,0 +1,39 @@
+local Debug = GameLab.Debug
+
+local GUI = GameLab.Engine.GUI or {}
+GameLab.Engine.GUI = GUI
+
+local Event = GameLab.Events.Event
+
+local imgui = {
+ currentId = 0, -- 当前可分配的controlID
+}
+
+GUI.GetControlID = function()
+ imgui.currentId = imgui.currentId + 1
+ return imgui.currentId
+end
+
+-- 每次调用OnGUI(无论是哪个事件)都要重新调用BeginOnGUI方法进行重置
+GUI.BeginOnGUI = function()
+ imgui.currentId = 0
+end
+
+GUI.EndOnGUI = function()
+ imgui.currentId = 0
+end
+
+GUI.BeginFrame = function()
+
+end
+
+GUI.EndFrame = function()
+
+end
+
+GUI.Button = function()
+ local id = GUI.GetControlID()
+
+end
+
+return GUI \ No newline at end of file
diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/GUI/init.lua b/Data/DefaultContent/Libraries/GameLab/Engine/GUI/init.lua
new file mode 100644
index 0000000..4b83ddc
--- /dev/null
+++ b/Data/DefaultContent/Libraries/GameLab/Engine/GUI/init.lua
@@ -0,0 +1,3 @@
+local import = GameLab.import(...)
+
+import("IMGUI")
diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Math/Rect.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Math/Rect.lua
index f603ed5..75b550d 100644
--- a/Data/DefaultContent/Libraries/GameLab/Engine/Math/Rect.lua
+++ b/Data/DefaultContent/Libraries/GameLab/Engine/Math/Rect.lua
@@ -14,4 +14,8 @@ Rect.Set = function(self, rect)
self.w = rect.w or rect[4]
end
+Rect.Contains = function(self, point)
+
+end
+
return Rect \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua b/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua
deleted file mode 100644
index 334b569..0000000
--- a/Data/Libraries/GameLab/Editor/GUI/IMGUI.lua
+++ /dev/null
@@ -1,10 +0,0 @@
-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/init.lua b/Data/Libraries/GameLab/Editor/GUI/init.lua
deleted file mode 100644
index 5507a16..0000000
--- a/Data/Libraries/GameLab/Editor/GUI/init.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-GameLab.Editor.GUI = GameLab.Editor.GUI or {}
-local m = GameLab.Editor.GUI
-
-local import = GameLab.import(...)
-
-import("ContainerWindow")
-import("GUIWindow")
-
-return m \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua b/Data/Libraries/GameLab/Editor/Window/ContainerWindow.lua
index b270110..2936101 100644
--- a/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua
+++ b/Data/Libraries/GameLab/Editor/Window/ContainerWindow.lua
@@ -1,5 +1,5 @@
-local NativeContainWidow = GameLab.Editor.GUI.Internal.ContainerWindow
-local ContainerWindow = GameLab.GlobalClass("GameLab.Editor.GUI.ContainerWindow")
+local NativeContainWidow = GameLab.Editor.Window.Internal.ContainerWindow
+local ContainerWindow = GameLab.GlobalClass("GameLab.Editor.Window.ContainerWindow")
ContainerWindow.Ctor = function(self, position, showMode, min, max)
self.m_Native = NativeContainWidow.New(position, showMode, min, max)
diff --git a/Data/Libraries/GameLab/Editor/GUI/FontManager.lua b/Data/Libraries/GameLab/Editor/Window/FontManager.lua
index e69de29..e69de29 100644
--- a/Data/Libraries/GameLab/Editor/GUI/FontManager.lua
+++ b/Data/Libraries/GameLab/Editor/Window/FontManager.lua
diff --git a/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua b/Data/Libraries/GameLab/Editor/Window/GUIWindow.lua
index 8165faa..cb05518 100644
--- a/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua
+++ b/Data/Libraries/GameLab/Editor/Window/GUIWindow.lua
@@ -1,5 +1,5 @@
-local GUIWindow = GameLab.GlobalClass("GameLab.Editor.GUI.GUIWindow")
-local NativeGUIWindow = GameLab.Editor.GUI.Internal.GUIWindow
+local GUIWindow = GameLab.GlobalClass("GameLab.Editor.Window.GUIWindow")
+local NativeGUIWindow = GameLab.Editor.Window.Internal.GUIWindow
local inspect = require("inspect")
@@ -8,7 +8,8 @@ local GL = GameLab.Engine.GL
local Math = GameLab.Engine.Math
local Rendering = GameLab.Engine.Rendering
-local Rect = Math.Rect
+local Rect = Math.Rect
+local Event = GameLab.Events.Event
local i = 0
local col = {
@@ -45,8 +46,12 @@ end
GUIWindow.OnGUI = function(self)
self:ClearBackground()
-
-end
+ local event = Event.current
+
+ if self.m_SplitWindow then
+ self.m_SplitWindow:DoSplit(event)
+ end
+end
GUIWindow.GetContainerWindow = function(self)
return self.m_ContainerWindow
diff --git a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua b/Data/Libraries/GameLab/Editor/Window/SplitWindow.lua
index 214eed6..f5d410c 100644
--- a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
+++ b/Data/Libraries/GameLab/Editor/Window/SplitWindow.lua
@@ -1,13 +1,13 @@
-local Splitter = GameLab.Class("GameLab.Editor.GUI.Internal.Splitter")
+local Splitter = GameLab.Class("GameLab.Editor.Window.Internal.Splitter")
Splitter.Ctor = function(self)
self.width = 10
end
-- 抽象的窗口,用来处理布局
-local SplitWindow = GameLab.GlobalClass("GameLab.Editor.GUI.SplitWindow")
+local SplitWindow = GameLab.GlobalClass("GameLab.Editor.Window.SplitWindow")
-local ESplitMode = GameLab.GlobalEnum("GameLab.Editor.GUI.ESplitMode", {
+local ESplitMode = GameLab.GlobalEnum("GameLab.Editor.Window.ESplitMode", {
"Vertical",
"Horizontal"
})
@@ -20,8 +20,8 @@ SplitWindow.Ctor = function(self)
self.m_SubSplit = {} -- 子节点也是split windows
end
-SplitWindow.DoSplit = function(self)
-
+SplitWindow.DoSplit = function(self, event)
+
end
-- 返回guiWnd
diff --git a/Data/Libraries/GameLab/Editor/Window/init.lua b/Data/Libraries/GameLab/Editor/Window/init.lua
new file mode 100644
index 0000000..07f2a92
--- /dev/null
+++ b/Data/Libraries/GameLab/Editor/Window/init.lua
@@ -0,0 +1,9 @@
+GameLab.Editor.Window = GameLab.Editor.Window or {}
+local m = GameLab.Editor.Window
+
+local import = GameLab.import(...)
+
+import("ContainerWindow")
+import("GUIWindow")
+
+return m \ No newline at end of file
diff --git a/Data/Scripts/EditorApplication.lua b/Data/Scripts/EditorApplication.lua
index 9e2b632..4c4a708 100644
--- a/Data/Scripts/EditorApplication.lua
+++ b/Data/Scripts/EditorApplication.lua
@@ -8,7 +8,7 @@ local Engine = GameLab.Engine
local Resource = GameLab.Engine.Resource
local Rendering = GameLab.Engine.Rendering
local Debug = GameLab.Debug
-local GUI = GameLab.Editor.GUI
+local GUI = GameLab.Editor.Window
local GL = GameLab.Engine.GL
local app = GameLab.Editor.EditorApplication.New()
diff --git a/Data/Scripts/EditorGUI/EditorWindowManager.lua b/Data/Scripts/EditorGUI/EditorWindowManager.lua
index 693cb9e..27dd16d 100644
--- a/Data/Scripts/EditorGUI/EditorWindowManager.lua
+++ b/Data/Scripts/EditorGUI/EditorWindowManager.lua
@@ -1,6 +1,6 @@
-local ContainerWindow = require("GameLab.Editor.GUI.ContainerWindow")
-local GUIWindow = require("GameLab.Editor.GUI.GUIWindow")
-local SplitWindow = require("GameLab.Editor.GUI.SplitWindow")
+local ContainerWindow = require("GameLab.Editor.Window.ContainerWindow")
+local GUIWindow = require("GameLab.Editor.Window.GUIWindow")
+local SplitWindow = require("GameLab.Editor.Window.SplitWindow")
local EditorWindowManager = {}
diff --git a/Data/boot.lua b/Data/boot.lua
index 6f583bc..bb95b16 100644
--- a/Data/boot.lua
+++ b/Data/boot.lua
@@ -26,12 +26,13 @@ end
require "GameLab"
require "GameLab.Events"
require "GameLab.Engine"
+require "GameLab.Engine.GUI"
require "GameLab.Engine.Math"
require "GameLab.Engine.Rendering"
require "GameLab.Engine.Resource"
require "GameLab.Engine.GL"
require "GameLab.Editor"
-require "GameLab.Editor.GUI"
+require "GameLab.Editor.Window"
-- debugging
require("LuaPanda").start("127.0.0.1",8818)
diff --git a/Editor/EditorGlobals.h b/Editor/EditorGlobals.h
new file mode 100644
index 0000000..96786d7
--- /dev/null
+++ b/Editor/EditorGlobals.h
@@ -0,0 +1,3 @@
+#pragma once
+
+
diff --git a/Editor/GUI/GUIWindow.cpp b/Editor/GUI/GUIWindow.cpp
index a4049c8..aaab6a8 100644
--- a/Editor/GUI/GUIWindow.cpp
+++ b/Editor/GUI/GUIWindow.cpp
@@ -267,11 +267,15 @@ void GUIWindow::ProcessEventMessages(UINT message, WPARAM wParam, LPARAM lParam)
SCRIPT_GLOBAL.setCurrentEvent.AddTable(state, ie);
SCRIPT_GLOBAL.setCurrentEvent.Invoke(state, 0);
+ SCRIPT_GLOBAL.guiBeginOnGUI.Invoke(state, 0);
+
LuaBind::MemberInvoker invoker = LuaBind::MemberInvoker(state, this);
invoker.member = m_Script;
invoker.method = "OnGUI";
invoker.AddMember(m_Script);
invoker.Invoke(0);
+
+ SCRIPT_GLOBAL.guiEndOnGUI.Invoke(state, 0);
}
bool GUIWindow::SetRenderContext()
diff --git a/Editor/GUI/IMGUI/GUIButton.cpp b/Editor/GUI/IMGUI/GUIButton.cpp
deleted file mode 100644
index e69de29..0000000
--- a/Editor/GUI/IMGUI/GUIButton.cpp
+++ /dev/null
diff --git a/Editor/Scripting/EditorScripting.cpp b/Editor/Scripting/EditorScripting.cpp
index c8cfbbb..244dd78 100644
--- a/Editor/Scripting/EditorScripting.cpp
+++ b/Editor/Scripting/EditorScripting.cpp
@@ -17,9 +17,7 @@ extern int luaopen_GameLab_Engine_Resource(lua_State* L); // GameLab.Engine.Reso
extern int luaopen_GameLab_Engine_GUI(lua_State* L);
extern int luaopen_GameLab_Editor(lua_State* L); // GameLab.Editor
-extern int luaopen_GameLab_Editor_GUI(lua_State* L); // GameLab.Editor.GUI
-extern int luaopen_GameLab_Editor_GUILayout(lua_State* L); // GameLab.Editor.GUILayout
-extern int luaopen_GameLab_Editor_IMGUI(lua_State* L); // GameLab.Editor.IMGUI
+extern int luaopen_GameLab_Editor_Window(lua_State* L); // GameLab.Editor.Window
extern int luaopen_GameLab_Editor_Resource(lua_State* L); // GameLab.Editor.Resource
extern int luaopen_GameLab_Editor_Profiling(lua_State* L); // GameLab.Editor.Profiling
extern int luaopen_GameLab_Editor_Animation(lua_State* L); // GameLab.Editor.Animation
@@ -49,7 +47,7 @@ bool SetupGameLabEditorScripting(lua_State* L)
openlib(luaopen_GameLab_Engine_GUI);
openlib(luaopen_GameLab_Editor);
- openlib(luaopen_GameLab_Editor_GUI);
+ openlib(luaopen_GameLab_Editor_Window);
return true;
}
diff --git a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp b/Editor/Scripting/Window/ContainerWindow.bind.cpp
index 6c73116..6c73116 100644
--- a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp
+++ b/Editor/Scripting/Window/ContainerWindow.bind.cpp
diff --git a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp b/Editor/Scripting/Window/EditorGUI.bind.cpp
index ed26604..838e752 100644
--- a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp
+++ b/Editor/Scripting/Window/EditorGUI.bind.cpp
@@ -86,17 +86,17 @@ static luaL_Reg guiFuncs[] = {
{0, 0}
};
-// GameLab.Editor.GUI
-int luaopen_GameLab_Editor_GUI(lua_State* L)
+// GameLab.Editor.Window
+int luaopen_GameLab_Editor_Window(lua_State* L)
{
- log_info_tag("Scripting", "luaopen_GameLab_Editor_GUI()");
+ log_info_tag("Scripting", "luaopen_GameLab_Editor_Window()");
LUA_BIND_STATE(L);
state.PushGlobalNamespace();
state.PushNamespace("GameLab");
state.PushNamespace("Editor");
- state.PushNamespace("GUI");
+ state.PushNamespace("Window");
state.PushNamespace("Internal");
state.RegisterNativeClass<ContainerWindow>();
diff --git a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp b/Editor/Scripting/Window/GUIWindow.bind.cpp
index 212cb50..604c26a 100644
--- a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
+++ b/Editor/Scripting/Window/GUIWindow.bind.cpp
@@ -24,7 +24,7 @@ LUA_BIND_IMPL_METHOD(GUIWindow, _New)
GUIWindow* wnd = new GUIWindow(state.GetVM());
- if (LuaHelper::IsType(state, "GameLab.Editor.GUI.GUIWindow", -1))
+ if (LuaHelper::IsType(state, "GameLab.Editor.Window.GUIWindow", -1))
wnd->SetMemberRef(state, wnd->m_Script, -1);
wnd->PushUserdata(state);
diff --git a/Editor/Scripting/EditorGUI/SplitWindow.bind.cpp b/Editor/Scripting/Window/SplitWindow.bind.cpp
index e69de29..e69de29 100644
--- a/Editor/Scripting/EditorGUI/SplitWindow.bind.cpp
+++ b/Editor/Scripting/Window/SplitWindow.bind.cpp
diff --git a/Projects/VisualStudio/Editor/Editor.vcxproj b/Projects/VisualStudio/Editor/Editor.vcxproj
index aaaf748..7fab991 100644
--- a/Projects/VisualStudio/Editor/Editor.vcxproj
+++ b/Projects/VisualStudio/Editor/Editor.vcxproj
@@ -153,7 +153,6 @@
<ClCompile Include="..\..\..\Editor\Graphics\Graphics.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\ContainerWindow.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\Dock.cpp" />
- <ClCompile Include="..\..\..\Editor\GUI\IMGUI\GUIButton.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\MainWindow.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\WindowManager.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\GUIWindow.cpp" />
@@ -162,15 +161,15 @@
<ClCompile Include="..\..\..\Editor\GUI\WindowUtil.cpp" />
<ClCompile Include="..\..\..\Editor\GUI\WinUtils.cpp" />
<ClCompile Include="..\..\..\Editor\Resource\ResourceManager.cpp" />
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\ContainerWindow.bind.cpp" />
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\EditorGUI.bind.cpp" />
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\GUIWindow.bind.cpp" />
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\SplitWindow.bind.cpp" />
<ClCompile Include="..\..\..\Editor\Scripting\EditorScripting.cpp" />
<ClCompile Include="..\..\..\Editor\Scripting\Editor\Editor.bind.cpp" />
<ClCompile Include="..\..\..\Editor\Scripting\Editor\EditorApplication.bind.cpp" />
<ClCompile Include="..\..\..\Editor\Scripting\IMGUI\GUIButton.bind.cpp" />
<ClCompile Include="..\..\..\Editor\Scripting\EditorScriptingManager.cpp" />
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\ContainerWindow.bind.cpp" />
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\EditorGUI.bind.cpp" />
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\GUIWindow.bind.cpp" />
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\SplitWindow.bind.cpp" />
<ClCompile Include="..\..\..\Editor\Shaders\BuiltinShaders.cpp" />
<ClCompile Include="..\..\..\Editor\Utils\EditorUtils.cpp" />
<ClCompile Include="..\..\..\Editor\Utils\HelperFuncs.cpp" />
@@ -251,6 +250,7 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\Editor\EditorApplication.h" />
+ <ClInclude Include="..\..\..\Editor\EditorGlobals.h" />
<ClInclude Include="..\..\..\Editor\EditorManager.h" />
<ClInclude Include="..\..\..\Editor\FileSystem\FileWatcher.h" />
<ClInclude Include="..\..\..\Editor\Graphics\Graphics.h" />
diff --git a/Projects/VisualStudio/Editor/Editor.vcxproj.filters b/Projects/VisualStudio/Editor/Editor.vcxproj.filters
index fafbf97..a9af0ec 100644
--- a/Projects/VisualStudio/Editor/Editor.vcxproj.filters
+++ b/Projects/VisualStudio/Editor/Editor.vcxproj.filters
@@ -28,12 +28,6 @@
<Filter Include="Editor\Resource">
<UniqueIdentifier>{5b8dba28-42d0-450a-98e1-ca4a65a4fc76}</UniqueIdentifier>
</Filter>
- <Filter Include="Editor\Scripting\EditorGUI">
- <UniqueIdentifier>{848489fc-f661-4b10-91f5-db1687293b95}</UniqueIdentifier>
- </Filter>
- <Filter Include="Editor\Scripting\EditorGUILayout">
- <UniqueIdentifier>{87edd159-c171-4ccb-9094-9e5061c980d0}</UniqueIdentifier>
- </Filter>
<Filter Include="Editor\Scripting\Resource">
<UniqueIdentifier>{476cedf1-fc4a-48a5-8782-bed16dabb86e}</UniqueIdentifier>
</Filter>
@@ -76,9 +70,6 @@
<Filter Include="Runtime\FileSystem">
<UniqueIdentifier>{78c0524a-9039-474a-9a2e-fa243e84d60e}</UniqueIdentifier>
</Filter>
- <Filter Include="Editor\GUI\IMGUI">
- <UniqueIdentifier>{47032dd6-dca2-478f-b594-d08c0b22e119}</UniqueIdentifier>
- </Filter>
<Filter Include="Runtime\Profiling">
<UniqueIdentifier>{dbc5b9a8-4107-4324-aa71-e6a9a7b6d23d}</UniqueIdentifier>
</Filter>
@@ -118,6 +109,9 @@
<Filter Include="Runtime\Events">
<UniqueIdentifier>{ebaa23ba-fd66-4554-8a90-959097e25cf3}</UniqueIdentifier>
</Filter>
+ <Filter Include="Editor\Scripting\Window">
+ <UniqueIdentifier>{848489fc-f661-4b10-91f5-db1687293b95}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Editor\GUI\Dock.cpp">
@@ -159,21 +153,9 @@
<ClCompile Include="..\..\..\Editor\Resource\ResourceManager.cpp">
<Filter>Editor\Resource</Filter>
</ClCompile>
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\EditorGUI.bind.cpp">
- <Filter>Editor\Scripting\EditorGUI</Filter>
- </ClCompile>
<ClCompile Include="..\..\..\Editor\Scripting\EditorScripting.cpp">
<Filter>Editor\Scripting</Filter>
</ClCompile>
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\ContainerWindow.bind.cpp">
- <Filter>Editor\Scripting\EditorGUI</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\GUIWindow.bind.cpp">
- <Filter>Editor\Scripting\EditorGUI</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\Editor\Scripting\EditorGUI\SplitWindow.bind.cpp">
- <Filter>Editor\Scripting\EditorGUI</Filter>
- </ClCompile>
<ClCompile Include="..\..\..\Editor\Scripting\IMGUI\GUIButton.bind.cpp">
<Filter>Editor\Scripting\IMGUI</Filter>
</ClCompile>
@@ -243,9 +225,6 @@
<ClCompile Include="..\..\..\Editor\GUI\ContainerWindow.cpp">
<Filter>Editor\GUI</Filter>
</ClCompile>
- <ClCompile Include="..\..\..\Editor\GUI\IMGUI\GUIButton.cpp">
- <Filter>Editor\GUI\IMGUI</Filter>
- </ClCompile>
<ClCompile Include="..\..\..\Runtime\Graphics\Shader.cpp">
<Filter>Runtime\Graphics</Filter>
</ClCompile>
@@ -424,6 +403,18 @@
<ClCompile Include="..\..\..\Editor\Scripting\EditorScriptingManager.cpp">
<Filter>Editor\Scripting</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\ContainerWindow.bind.cpp">
+ <Filter>Editor\Scripting\Window</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\EditorGUI.bind.cpp">
+ <Filter>Editor\Scripting\Window</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\GUIWindow.bind.cpp">
+ <Filter>Editor\Scripting\Window</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\Editor\Scripting\Window\SplitWindow.bind.cpp">
+ <Filter>Editor\Scripting\Window</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\Editor\GUI\Dock.h">
@@ -762,6 +753,9 @@
<ClInclude Include="..\..\..\Editor\Scripting\EditorScriptingManager.h">
<Filter>Editor\Scripting</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\Editor\EditorGlobals.h">
+ <Filter>Editor\Scripting</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\Runtime\Lua\LuaBind\LuaBindClass.inc">
diff --git a/Runtime/Events/InputEvent.cpp b/Runtime/Events/InputEvent.cpp
index c5994ef..07d8778 100644
--- a/Runtime/Events/InputEvent.cpp
+++ b/Runtime/Events/InputEvent.cpp
@@ -249,6 +249,10 @@ void InputEvent::CastToTable(LuaBind::State& state) const
lua_pushnumber(state, type);
lua_setfield(state, table, "type");
+ // "used"
+ lua_pushboolean(state, use);
+ lua_setfield(state, table, "use");
+
// "mousePosition"
state.PushLuaObject(mousePosition);
lua_setfield(state, table, "mousePosition");
diff --git a/Runtime/Lua/LuaBind/LuaBindInvoker.cpp b/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
index d6780d7..90ab078 100644
--- a/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
+++ b/Runtime/Lua/LuaBind/LuaBindInvoker.cpp
@@ -106,6 +106,8 @@ namespace LuaBind
lua_replace(state, -2);
lua_insert(state, -1 - argc);
state.Call(argc, nReturns);
+
+ argc = 0;
}
} \ No newline at end of file
diff --git a/Runtime/Scripting/RuntimeScriptGlobals.cpp b/Runtime/Scripting/RuntimeScriptGlobals.cpp
index 5f140a1..bb3139c 100644
--- a/Runtime/Scripting/RuntimeScriptGlobals.cpp
+++ b/Runtime/Scripting/RuntimeScriptGlobals.cpp
@@ -6,5 +6,10 @@ namespace Scripting
void FillRuntimeScriptGlobals(RuntimeScriptGlobals& globals)
{
globals.setCurrentEvent = "GameLab.Events.Event.SetCurrentEvent";
+
+ globals.guiBeginFrame = "GameLab.Engine.GUI.BeginFrame";
+ globals.guiEndFrame = "GameLab.Engine.GUI.EndFrame";
+ globals.guiBeginOnGUI = "GameLab.Engine.GUI.BeginOnGUI";
+ globals.guiEndOnGUI = "GameLab.Engine.GUI.EndOnGUI";
}
} \ No newline at end of file
diff --git a/Runtime/Scripting/RuntimeScriptGlobals.h b/Runtime/Scripting/RuntimeScriptGlobals.h
index 76448a9..e6e6347 100644
--- a/Runtime/Scripting/RuntimeScriptGlobals.h
+++ b/Runtime/Scripting/RuntimeScriptGlobals.h
@@ -13,6 +13,11 @@
struct RuntimeScriptGlobals
{
DECL_LUA_FUNC(setCurrentEvent);
+
+ DECL_LUA_FUNC(guiBeginFrame);
+ DECL_LUA_FUNC(guiEndFrame);
+ DECL_LUA_FUNC(guiBeginOnGUI);
+ DECL_LUA_FUNC(guiEndOnGUI);
};
namespace Scripting