diff --git a/src/Client/Test/window/Pages/page/Components/testing.lua b/src/Client/Test/window/Pages/page/Components/testing.lua new file mode 100644 index 0000000..511672d --- /dev/null +++ b/src/Client/Test/window/Pages/page/Components/testing.lua @@ -0,0 +1,27 @@ +local replicated = game:GetService("ReplicatedStorage") + +local types = require(replicated.Modules.Managers.UIManager.Types) +local Component = require(replicated.Modules.Managers.UIManager.Component) + +local component = Component.new(script.Name) + +component:OnBuild(function(self: types.Component): () + self.Frame = Instance.new("Frame") + + self.Frame.Visible = false + self.Frame.Size = UDim2.fromScale(0.2, 0.2) + self.Frame.Position = UDim2.fromScale(0.8, 0.8) + self.Frame.BackgroundColor3 = Color3.new(1, 0, 0) + + self.Frame.Parent = self.Parent.Frame + + task.delay(2, function() + self:Update("Size") + end) +end) + +component:OnUpdate("Size", function(self: types.Component, _: {}?) + self.Frame.Size = UDim2.fromScale(0.1, 0.1) +end) + +return component \ No newline at end of file diff --git a/src/Client/Test/window/Pages/page/init.lua b/src/Client/Test/window/Pages/page/init.lua new file mode 100644 index 0000000..f4e679b --- /dev/null +++ b/src/Client/Test/window/Pages/page/init.lua @@ -0,0 +1,25 @@ +local replicated = game:GetService("ReplicatedStorage") + +local types = require(replicated.Modules.Managers.UIManager.Types) +local Page = require(replicated.Modules.Managers.UIManager.Page) + +local page = Page.new(script.Name) + +page:OnBuild(function(self: types.Page): () + self.Frame = Instance.new("Frame") + + self.Frame.Visible = false + self.Frame.Size = UDim2.fromScale(0.2, 0.2) + self.Frame.Position = UDim2.fromScale(0.5, 0.5) + + self.Frame.Parent = self.Parent.ScreenGui + + for _, component: Instance in script.Components:GetChildren() do + if not component:IsA("ModuleScript") then continue end + + self:AddComponent(require(component)) + self:OpenComponent(component.Name) + end +end) + +return page \ No newline at end of file diff --git a/src/Client/Test/window.lua b/src/Client/Test/window/init.lua similarity index 64% rename from src/Client/Test/window.lua rename to src/Client/Test/window/init.lua index 90089d2..b22b043 100644 --- a/src/Client/Test/window.lua +++ b/src/Client/Test/window/init.lua @@ -3,6 +3,13 @@ local replicated = game:GetService("ReplicatedStorage") local types = require(replicated.Modules.Managers.UIManager.Types) local Window = require(replicated.Modules.Managers.UIManager.Window) + +local DEFAULT_PAGE = "page" + + + + + local window = Window.new(script.Name) window:OnBuild(function(self: types.Window): () @@ -10,6 +17,13 @@ window:OnBuild(function(self: types.Window): () self.ScreenGui.Enabled = false self.ScreenGui.Parent = game:GetService("Players").LocalPlayer.PlayerGui + + for _, page: Instance in script.Pages:GetChildren() do + if not page:IsA("ModuleScript") then continue end + self:AddPage(require(page)) + end + + self:OpenPage(DEFAULT_PAGE) end) return window \ No newline at end of file diff --git a/src/Client/test.client.lua b/src/Client/test.client.lua index 52cb187..4d6f1fb 100644 --- a/src/Client/test.client.lua +++ b/src/Client/test.client.lua @@ -8,4 +8,9 @@ uiManager:OpenWindow(default) task.wait(10) -uiManager:CloseWindow(default) \ No newline at end of file +uiManager:CloseWindow(default) + +task.wait(10) + +uiManager:OpenWindow(default) +