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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Gloam.Core.Ui" Version="0.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Gloam.Core.Ui" Version="0.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Gloam.Core.Ui" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Gloam.Core.Ui --version 0.7.0
                    
#r "nuget: Gloam.Core.Ui, 0.7.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Gloam.Core.Ui@0.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Gloam.Core.Ui&version=0.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Gloam.Core.Ui&version=0.7.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.