From 806c9cc1d4ad4f30350cafbe19e15ea39113f42b Mon Sep 17 00:00:00 2001 From: dnesov Date: Thu, 19 Jun 2025 14:30:20 +0200 Subject: [PATCH] WIP: UI system, containers and widgets. --- TestGame/TestGame.cs | 21 +++++--- Voile/Source/Input/InputAction.cs | 1 - Voile/Source/Resources/Loaders/StyleLoader.cs | 17 +++++++ Voile/Source/Resources/Resource.cs | 5 ++ Voile/Source/Resources/ResourceManager.cs | 15 ++++-- Voile/Source/Systems/ISystem.cs | 10 ++++ Voile/Source/UI/Containers/Container.cs | 27 +++++++++++ .../Source/UI/Containers/VerticalContainer.cs | 38 +++++++++++++++ Voile/Source/UI/IElement.cs | 28 +++++++++++ Voile/Source/UI/Rect.cs | 8 ++++ Voile/Source/UI/Style.cs | 13 +++++ Voile/Source/UI/UISystem.cs | 48 +++++++++++++++++++ Voile/Source/UI/Widgets/Button.cs | 42 ++++++++++++++++ Voile/Source/UI/Widgets/Label.cs | 38 +++++++++++++++ Voile/Source/UI/Widgets/Widget.cs | 41 ++++++++++++++++ 15 files changed, 341 insertions(+), 11 deletions(-) create mode 100644 Voile/Source/Resources/Loaders/StyleLoader.cs create mode 100644 Voile/Source/UI/Containers/Container.cs create mode 100644 Voile/Source/UI/Containers/VerticalContainer.cs create mode 100644 Voile/Source/UI/IElement.cs create mode 100644 Voile/Source/UI/Rect.cs create mode 100644 Voile/Source/UI/Style.cs create mode 100644 Voile/Source/UI/UISystem.cs create mode 100644 Voile/Source/UI/Widgets/Button.cs create mode 100644 Voile/Source/UI/Widgets/Label.cs create mode 100644 Voile/Source/UI/Widgets/Widget.cs diff --git a/TestGame/TestGame.cs b/TestGame/TestGame.cs index f8bba52..96933cf 100644 --- a/TestGame/TestGame.cs +++ b/TestGame/TestGame.cs @@ -6,6 +6,9 @@ using System.Numerics; using System.Diagnostics.CodeAnalysis; using Voile.Rendering; using Voile.OpenAL; +using Voile.UI; +using Voile.UI.Widgets; +using Voile.UI.Containers; public class TestGame : Game { @@ -16,9 +19,11 @@ public class TestGame : Game { InitializeSystemsDefault(); + _uiSystem = new UISystem(new ResourceRef