From bfbe1b31322030d0af6f4d010f578c0b3b3dde21 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 12 Nov 2021 09:45:23 +0800 Subject: *split window --- Data/Scripts/Editor/AssetBrowser.lua | 14 +++++++------- Data/Scripts/EditorApplication.lua | 11 +++++------ Data/Scripts/EditorGUI/EditorWindowManager.lua | 23 +++++++++++++++++++++-- 3 files changed, 33 insertions(+), 15 deletions(-) (limited to 'Data/Scripts') diff --git a/Data/Scripts/Editor/AssetBrowser.lua b/Data/Scripts/Editor/AssetBrowser.lua index 37e9358..6d02579 100644 --- a/Data/Scripts/Editor/AssetBrowser.lua +++ b/Data/Scripts/Editor/AssetBrowser.lua @@ -1,12 +1,12 @@ -local Debug = GameLab.Debug -local AssetBrowser = GameLab.Editor.EditorWindow.Extend("GameLab.Editor.AssetBrowser") -local GL = GameLab.Engine.GL +local Debug = GameLab.Debug +local GL = GameLab.Engine.GL local Matrix44 = GameLab.Engine.Math.Matrix44 -local Engine = GameLab.Engine -local Editor = GameLab.Editor -local IO = GameLab.IO +local Engine = GameLab.Engine +local Editor = GameLab.Editor +local IO = GameLab.IO +local inspect = require("inspect") -local inspect = require("inspect") +local AssetBrowser = GameLab.Editor.EditorWindow.Extend("GameLab.Editor.AssetBrowser") AssetBrowser.Ctor = function(self) self.base.Ctor(self, "AssetBrowser") diff --git a/Data/Scripts/EditorApplication.lua b/Data/Scripts/EditorApplication.lua index 4c4a708..01f5b70 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.Window +local Window = GameLab.Editor.Window local GL = GameLab.Engine.GL local app = GameLab.Editor.EditorApplication.New() @@ -17,22 +17,21 @@ if app == nil then Debug.LogError("app is nil") end -local mainWindow = GUI.ContainerWindow.New({400, 400, 800, 500}, GUI.EShowMode.MainWindow, {100, 100}, {700, 700}) +local mainWindow = Window.ContainerWindow.New({400, 400, 800, 500}, Window.EShowMode.MainWindow, {100, 100}, {700, 700}) mainWindow:SetTitle("GameLab") mainWindow:SetIcon("./Data/Icon/GameLab.ico") app:SetMainWindow(mainWindow:GetNative()) +EditorWindowManager.SetMainWindow(mainWindow) -local guiWindow = GUI.GUIWindow.New() +local guiWindow = Window.GUIWindow.New() guiWindow:SetContainerWindow(mainWindow) guiWindow:SetPosition({0,0, 400, 400}) -local guiWindow2 = GUI.GUIWindow.New() +local guiWindow2 = Window.GUIWindow.New() guiWindow2:SetContainerWindow(mainWindow) guiWindow2:SetPosition({400,0, 400, 400}) -local wnd = AssetBrowser.New() - local v = GameLab.Engine.Math.Vector4.New(1,2,3,4) local c = Engine.Rendering.Color.New(1,1,1,1) diff --git a/Data/Scripts/EditorGUI/EditorWindowManager.lua b/Data/Scripts/EditorGUI/EditorWindowManager.lua index 27dd16d..ecd6912 100644 --- a/Data/Scripts/EditorGUI/EditorWindowManager.lua +++ b/Data/Scripts/EditorGUI/EditorWindowManager.lua @@ -4,8 +4,27 @@ local SplitWindow = require("GameLab.Editor.Window.SplitWindow") local EditorWindowManager = {} -EditorWindowManager.splitWindows = {} +EditorWindowManager.splitWindows = {} +EditorWindowManager.containerWindows = {} +EditorWindowManager.guiWindows = {} +EditorWindowManager.rootSplitWindow = nil +EditorWindowManager.mainWindow = nil +local splitWindows = EditorWindowManager.splitWindows +local containerWindows = EditorWindowManager.containerWindows +local guiWindows = EditorWindowManager.guiWindows +-- 申请一个GUIWindow并 +EditorWindowManager.ClaimGUIWindow = function() + if #splitWindows == 0 then + local sp = SplitWindow.New() + table.insert( splitWindows, sp) -return EditorWindowManager \ No newline at end of file + end +end + +EditorWindowManager.SetMainWindow = function(wnd) + EditorWindowManager.mainWindow = wnd +end + +return EditorWindowManager \ No newline at end of file -- cgit v1.1-26-g67d0