summaryrefslogtreecommitdiff
path: root/Data
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 /Data
parent36f42b74630d4bca2d1d276d57c4c967d0290380 (diff)
* rename Editor.GUI to Editor.Window
Diffstat (limited to 'Data')
-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
13 files changed, 78 insertions, 36 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)