summaryrefslogtreecommitdiff
path: root/Data/Libraries
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-08 09:23:38 +0800
committerchai <chaifix@163.com>2021-11-08 09:23:38 +0800
commit138d3f4d3d6e2aaf5ba34f89af15ef85ea074357 (patch)
tree31ca6e8ea6d2e960e8d35f801bd92555942822e2 /Data/Libraries
parentefce5b6bd5c9d4f8214a71e0f7a7c35751710a4c (diff)
*misc
Diffstat (limited to 'Data/Libraries')
-rw-r--r--Data/Libraries/GameLab/Editor/EditorWindow.lua2
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua20
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua51
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua14
-rw-r--r--Data/Libraries/GameLab/Editor/GUI/init.lua3
5 files changed, 87 insertions, 3 deletions
diff --git a/Data/Libraries/GameLab/Editor/EditorWindow.lua b/Data/Libraries/GameLab/Editor/EditorWindow.lua
index d765031..6bb59d3 100644
--- a/Data/Libraries/GameLab/Editor/EditorWindow.lua
+++ b/Data/Libraries/GameLab/Editor/EditorWindow.lua
@@ -4,7 +4,7 @@
-- |- GUIWindow
-- |- EditorWindow
-local EditorWindow = GameLab.Class("GameLab.Editor.EditorWindow")
+local EditorWindow = GameLab.GlobalClass("GameLab.Editor.EditorWindow")
EditorWindow.Ctor = function(self, title)
self.title = title -- 编辑器名称
diff --git a/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua b/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua
new file mode 100644
index 0000000..af525f0
--- /dev/null
+++ b/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua
@@ -0,0 +1,20 @@
+local InternalContainWidow = GameLab.Editor.GUI.Internal.ContainerWindow
+local ContainerWindow = GameLab.GlobalClass("GameLab.Editor.GUI.ContainerWindow")
+
+ContainerWindow.Ctor = function(self, position, showMode, min, max)
+ self.m_Internal = InternalContainWidow.New(position, showMode, min, max)
+end
+
+ContainerWindow.SetTitle = function(self)
+ self.m_Internal:SetTitle(self)
+end
+
+ContainerWindow.SetIcon = function(self)
+ self.m_Internal:SetIcon(self)
+end
+
+ContainerWindow.GetInternal = function(self)
+ return self.m_Internal
+end
+
+return ContainerWindow \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua b/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua
index 275c2a7..e283c07 100644
--- a/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua
+++ b/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua
@@ -1,5 +1,52 @@
-local GUIWindowScript = {}
+local InternalGUIWindow = GameLab.Editor.GUI.Internal.GUIWindow
+local GUIWindow = GameLab.GlobalClass("GameLab.Editor.GUI.GUIWindow")
+local Debug = GameLab.Debug
+local GL = GameLab.Engine.GL
+local Math = GameLab.Engine.Math
+local Rendering = GameLab.Engine.Rendering
+local Rect = Math.Rect
-return GUIWindowScript \ No newline at end of file
+GUIWindow.Ctor = function(self)
+ self.m_Internal = InternalGUIWindow.New(self)
+ self.m_ContainerWindow = nil
+ self.m_SplitWindow = nil
+ self.m_Position = Rect.New(0,0,0,0) -- 在父窗口中的位置和大小
+ self.m_EditorWindows = {} -- 编辑器脚本
+end
+
+GUIWindow.SetContainerWindow = function(self, containerWindow)
+ self.m_ContainerWindow = containerWindow
+ self.m_Internal:SetContainerWindow(containerWindow:GetInternal())
+end
+
+GUIWindow.SetPosition = function(self, pos)
+ self.m_Position:Set(pos)
+ self.m_Internal:SetPosition(pos)
+end
+
+GUIWindow.GetInternal = function(self)
+ return self.m_Internal
+end
+
+GUIWindow.OnGUI = function(self)
+ self:ClearBackground()
+
+end
+
+GUIWindow.GetContainerWindow = function(self)
+ return self.m_ContainerWindow
+end
+
+GUIWindow.OnFocus = function(self)
+ Debug.Log("GUIWindow.OnFocus")
+end
+
+GUIWindow.ClearBackground = function(self)
+ GL.ClearColor({1,0,0,1})
+ GL.Clear(GL.EBufferType.ColorBuffer)
+
+end
+
+return GUIWindow \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
new file mode 100644
index 0000000..0d6417e
--- /dev/null
+++ b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua
@@ -0,0 +1,14 @@
+local SplitWindow = GameLab.GlobalClass("GameLab.Editor.GUI.SplitWindow")
+
+local ESplitMode = GameLab.GlobalEnum("GameLab.Editor.GUI.ESplitMode", {
+ "Vertical",
+ "Horizontal"
+})
+
+SplitWindow.Ctor = function(self)
+ self.m_Splitter = {}
+ self.m_SplitMode = ESplitMode.Horizontal
+ self.m_GUIWindows = {}
+end
+
+return SplitWindow \ No newline at end of file
diff --git a/Data/Libraries/GameLab/Editor/GUI/init.lua b/Data/Libraries/GameLab/Editor/GUI/init.lua
index 8e9b899..5507a16 100644
--- a/Data/Libraries/GameLab/Editor/GUI/init.lua
+++ b/Data/Libraries/GameLab/Editor/GUI/init.lua
@@ -3,4 +3,7 @@ local m = GameLab.Editor.GUI
local import = GameLab.import(...)
+import("ContainerWindow")
+import("GUIWindow")
+
return m \ No newline at end of file