diff options
Diffstat (limited to 'Data')
-rw-r--r-- | Data/DefaultContent/Libraries/GameLab/GlobalEnum.lua | 4 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua | 12 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua | 22 | ||||
-rw-r--r-- | Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua | 2 | ||||
-rw-r--r-- | Data/Resources/Shaders/Editor-Text.glsl | 1 | ||||
-rw-r--r-- | Data/Scripts/EditorApplication.lua | 7 | ||||
-rw-r--r-- | Data/Scripts/EditorGUI/EditorWindowManager.lua | 8 |
7 files changed, 33 insertions, 23 deletions
diff --git a/Data/DefaultContent/Libraries/GameLab/GlobalEnum.lua b/Data/DefaultContent/Libraries/GameLab/GlobalEnum.lua index 4a160fa..bc3b451 100644 --- a/Data/DefaultContent/Libraries/GameLab/GlobalEnum.lua +++ b/Data/DefaultContent/Libraries/GameLab/GlobalEnum.lua @@ -1,8 +1,8 @@ local Enum = GameLab.Enum or require("GameLab.Enum") -- 声明类的同时添加到G表 -local GlobalEnum = function(enumName) - local enum = Enum(enumName) +local GlobalEnum = function(enumName, tb) + local enum = Enum(tb) local shortName = string.match(enumName, "%.*(%w+)$") local t = _G diff --git a/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua b/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua index af525f0..b270110 100644 --- a/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua +++ b/Data/Libraries/GameLab/Editor/GUI/ContainerWindow.lua @@ -1,20 +1,20 @@ -local InternalContainWidow = GameLab.Editor.GUI.Internal.ContainerWindow +local NativeContainWidow = 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) + self.m_Native = NativeContainWidow.New(position, showMode, min, max) end ContainerWindow.SetTitle = function(self) - self.m_Internal:SetTitle(self) + self.m_Native:SetTitle(self) end ContainerWindow.SetIcon = function(self) - self.m_Internal:SetIcon(self) + self.m_Native:SetIcon(self) end -ContainerWindow.GetInternal = function(self) - return self.m_Internal +ContainerWindow.GetNative = function(self) + return self.m_Native 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 e283c07..f136d56 100644 --- a/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua +++ b/Data/Libraries/GameLab/Editor/GUI/GUIWindow.lua @@ -1,6 +1,8 @@ -local InternalGUIWindow = GameLab.Editor.GUI.Internal.GUIWindow
+local NativeGUIWindow = GameLab.Editor.GUI.Internal.GUIWindow
local GUIWindow = GameLab.GlobalClass("GameLab.Editor.GUI.GUIWindow")
+local inspect = require("inspect")
+
local Debug = GameLab.Debug
local GL = GameLab.Engine.GL
local Math = GameLab.Engine.Math
@@ -9,25 +11,25 @@ local Rendering = GameLab.Engine.Rendering local Rect = Math.Rect
GUIWindow.Ctor = function(self)
- self.m_Internal = InternalGUIWindow.New(self)
+ self.m_Native = NativeGUIWindow.New(self)
self.m_ContainerWindow = nil
- self.m_SplitWindow = nil
+ self.m_SplitWindow = nil -- parent window
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())
+ self.m_Native:SetContainerWindow(containerWindow:GetNative())
end
GUIWindow.SetPosition = function(self, pos)
self.m_Position:Set(pos)
- self.m_Internal:SetPosition(pos)
+ self.m_Native:SetPosition(pos)
end
-GUIWindow.GetInternal = function(self)
- return self.m_Internal
+GUIWindow.GetNative = function(self)
+ return self.m_Native
end
GUIWindow.OnGUI = function(self)
@@ -35,9 +37,13 @@ GUIWindow.OnGUI = function(self) end
+GUIWindow.OnEvent = function(self, evt)
+
+end
+
GUIWindow.GetContainerWindow = function(self)
return self.m_ContainerWindow
-end
+end
GUIWindow.OnFocus = function(self)
Debug.Log("GUIWindow.OnFocus")
diff --git a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua index 0d6417e..d594bee 100644 --- a/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua +++ b/Data/Libraries/GameLab/Editor/GUI/SplitWindow.lua @@ -11,4 +11,6 @@ SplitWindow.Ctor = function(self) self.m_GUIWindows = {} end + + return SplitWindow
\ No newline at end of file diff --git a/Data/Resources/Shaders/Editor-Text.glsl b/Data/Resources/Shaders/Editor-Text.glsl index b228198..d1003c3 100644 --- a/Data/Resources/Shaders/Editor-Text.glsl +++ b/Data/Resources/Shaders/Editor-Text.glsl @@ -44,4 +44,3 @@ void main() FragColor = sampled; } FSH_END -
\ No newline at end of file diff --git a/Data/Scripts/EditorApplication.lua b/Data/Scripts/EditorApplication.lua index 4c91f72..9e2b632 100644 --- a/Data/Scripts/EditorApplication.lua +++ b/Data/Scripts/EditorApplication.lua @@ -21,18 +21,15 @@ local mainWindow = GUI.ContainerWindow.New({400, 400, 800, 500}, GUI.EShowMode.M mainWindow:SetTitle("GameLab") mainWindow:SetIcon("./Data/Icon/GameLab.ico") -app:SetMainWindow(mainWindow:GetInternal()) +app:SetMainWindow(mainWindow:GetNative()) local guiWindow = GUI.GUIWindow.New() guiWindow:SetContainerWindow(mainWindow) guiWindow:SetPosition({0,0, 400, 400}) - local guiWindow2 = GUI.GUIWindow.New() guiWindow2:SetContainerWindow(mainWindow) -guiWindow2:SetPosition({500,0, 400, 400}) - -collectgarbage() +guiWindow2:SetPosition({400,0, 400, 400}) local wnd = AssetBrowser.New() diff --git a/Data/Scripts/EditorGUI/EditorWindowManager.lua b/Data/Scripts/EditorGUI/EditorWindowManager.lua index e3595ae..693cb9e 100644 --- a/Data/Scripts/EditorGUI/EditorWindowManager.lua +++ b/Data/Scripts/EditorGUI/EditorWindowManager.lua @@ -1,5 +1,11 @@ +local ContainerWindow = require("GameLab.Editor.GUI.ContainerWindow")
+local GUIWindow = require("GameLab.Editor.GUI.GUIWindow")
+local SplitWindow = require("GameLab.Editor.GUI.SplitWindow")
+
local EditorWindowManager = {}
-EditorWindowManager.name = "asd"
+EditorWindowManager.splitWindows = {}
+
+
return EditorWindowManager
\ No newline at end of file |