Table of Contents

Namespace RichHudFramework

Classes

AggregateException

Aggregates multiple exceptions into a single exception with a combined message. Used by RichHudFramework.TaskPool for clean error reporting when parallel tasks fail.

CollectionExtensions
KnownException

Marks an exception as expected/known (e.g., failed file load, invalid user data). Allows the framework to distinguish between bugs and recoverable errors.

ListPoolPolicy<T>

IPooledObjectPolicy<T> implementation specialized for List<T>. Reuses lists by calling Clear() instead of allocating new ones.

MathExtensions
MathUtils

Mathematical utilities, particularly work-arounds for missing BitConverter functionality in Space Engineers mod API.

ObjectPool<T>

Simple, non-thread-safe object pool backed by a List<T>. Reduces allocations for frequently created/disposed reference types.

PooledObjectPolicy<T>

Delegate-based implementation of IPooledObjectPolicy<T>.

StringBuilderPoolPolicy

IPooledObjectPolicy<T> implementation for StringBuilder. Reuses instances by clearing them instead of allocating new ones.

Utils
Utils.Color

Utilities for parsing and formatting Color values from/to strings. Supports common formats such as "255,255,255", " 100, 50, 0 ", or "128,64,32,255".

Utils.Debug

Debugging and runtime assertion utilities.

Utils.ProtoBuf

Safe wrappers around Space Engineers' built-in ProtoBuf serialization utilities. Catches exceptions and returns them as KnownException instead of letting them propagate.

Utils.Xml

Safe wrappers around Space Engineers' built-in XML serialization utilities. Exceptions are caught and returned as KnownException rather than thrown.

VectorExtensions

Interfaces

IIndexedCollection<T>

Minimal interface for any indexed collection exposing a count and an indexer.

IPooledObjectPolicy<T>

Defines the creation and reset behavior for objects managed by an ObjectPool<T>.

Delegates

EventHandler

Represents a method that will handle an event, similar to System.EventHandler.

For input or value change events on UI elements, the sender will usually be InputOwner.