diff options
author | chai <chaifix@163.com> | 2021-11-08 09:23:38 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-11-08 09:23:38 +0800 |
commit | 138d3f4d3d6e2aaf5ba34f89af15ef85ea074357 (patch) | |
tree | 31ca6e8ea6d2e960e8d35f801bd92555942822e2 /Data/Libraries | |
parent | efce5b6bd5c9d4f8214a71e0f7a7c35751710a4c (diff) |
*misc
Diffstat (limited to 'Data/Libraries')
-rw-r--r-- | Data/Libraries/GameLab/Editor/EditorWindow.lua | 2 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua | 20 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua | 51 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua | 14 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/init.lua | 3 |
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 |