Gloam.Core.Ui
0.7.0
dotnet add package Gloam.Core.Ui --version 0.7.0
NuGet\Install-Package Gloam.Core.Ui -Version 0.7.0
<PackageReference Include="Gloam.Core.Ui" Version="0.7.0" />
<PackageVersion Include="Gloam.Core.Ui" Version="0.7.0" />
<PackageReference Include="Gloam.Core.Ui" />
paket add Gloam.Core.Ui --version 0.7.0
#r "nuget: Gloam.Core.Ui, 0.7.0"
#:package Gloam.Core.Ui@0.7.0
#addin nuget:?package=Gloam.Core.Ui&version=0.7.0
#tool nuget:?package=Gloam.Core.Ui&version=0.7.0
Gloam.Core.Ui
GUI system with optimized control management for Gloam engine
Overview
Gloam.Core.Ui provides a comprehensive GUI system designed specifically for roguelike games, featuring optimized control management, flexible layouts, and efficient rendering.
Features
- Control System: Base controls with proper lifecycle management
- Layout Management: Flexible positioning and sizing system
- Container Controls: Advanced container types for complex layouts
- Event Handling: Input event propagation and handling
- Optimized Rendering: Efficient UI rendering with visibility culling
Quick Start
using Gloam.Core.Ui;
using Gloam.Core.Ui.Controls;
// Create a basic UI layout
var container = new ContainerControl
{
Position = new Position(10, 5),
Size = new Size(50, 20)
};
var progressBar = new ProgressBar
{
Position = new Position(5, 2),
Size = new Size(40, 1),
Value = 75,
MaxValue = 100
};
container.AddChild(progressBar);
Available Controls
- BaseControl: Foundation for all UI controls
- ContainerControl: Basic container for child controls
- ProgressBar: Animated progress indicator
- StackPanel: Automatic layout container
- ListBox: Scrollable list control
- PopupWindow: Modal popup dialogs
- CompositeControl: Complex multi-part controls
- TransferList: Dual-list selection control
Control Features
- Automatic Layout: Smart positioning and sizing
- Visibility Management: Efficient rendering with visibility tracking
- Event Propagation: Proper input event handling chain
- State Management: Control state persistence and updates
- Custom Rendering: Override rendering for specialized controls
Layout System
// Stack panel with automatic layout
var stack = new StackPanel
{
Orientation = StackOrientation.Vertical,
Position = new Position(5, 5)
};
stack.AddChild(new TextLabel { Text = "Health:" });
stack.AddChild(new ProgressBar { Value = 80, MaxValue = 100 });
stack.AddChild(new TextLabel { Text = "Mana:" });
stack.AddChild(new ProgressBar { Value = 45, MaxValue = 100 });
Performance Features
- Optimized Rendering: Only redraw changed controls
- Memory Efficient: Smart object pooling and reuse
- Visibility Culling: Skip rendering for invisible controls
- Event Batching: Efficient event processing
Documentation
License
MIT License - see LICENSE for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Gloam.Core (>= 0.7.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Gloam.Core.Ui:
Package | Downloads |
---|---|
Gloam.Console.Render
High-performance console rendering backend for roguelike games with ANSI color support, optimized text rendering, and buffer pooling. |
|
Gloam.Runtime
High-performance dependency injection host for roguelike games with optimized game loop, scene management, and layer rendering. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.7.0 | 77 | 8/31/2025 |
Initial release with optimized GUI control management and event system.