Skip to content

ZachHembree/RichHudFramework.Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rich HUD Framework

This is a framework for creating custom retained-mode GUI in Space Engineers workshop mods using the billboards supplied by the mod API. It's nothing fancy, but it has most of the basic functionality you'd expect from a UI framework: text rendering, custom fonts, UI layering, key binds, mouse input, everything you might need to get started creating custom GUI in Space Engineers, sans markup lanugage. Everything is done in C#. If you want an idea of what that looks like, exactly, then have a look at some of the elements in the UI library; most of it's pretty straightforward.

Getting Started

Space Engineer's mods are all compiled to independent assemblies with no references between them, for reasons I trust are apparent, but this has the obvious drawback of preventing any two mods from directly sharing code. Fortunately, the game does provide utilities for sharing data at runtime using types exposed by the game's mod API, like generic delegates and tuples. For this reason, this framework is split into three modules: Master, Client and Shared. The master module contains the implementation for things like the text renderer, bind manager, and manages the UI tree, among other things and the Client module provides wrappers and utilities that provide easy access to those systems.

To get started using this framework, you'll need to download a copy of the client module from releases and include it in your mod. Usage details can be found in the wiki, in addition to a detailed overview of the framework's functions.

Demo

If you want to get a better idea of what you can do with this framework, Rich HUD Master has a demo built into the terminal that can be enabled using the chat command "/rhd toggledebug". This demo allows you to spawn most of the UI elements in the library in their default state while also allowing you to maniplate their HUD Space in real time.

Demo menu screenshot

Example Mod

You can find a well-documented example Text Editor Mod here. Fair warning, the corresponding walkthrough in the wiki is currently outdated, and I probably won't get around to finishing it for a while.

Text editor screenshot