Provides components and systems to create an in game user interface.
System in charge of updating the CachedSelectionOrder resource on each frame.
A cache sorted by tab order and then by Entity. Used to quickly find the next or previous selectable entities.
Draw Ui elements. UI won't display without this. It's recommended this be your last pass.
Links up the given in- and output types'
A loaded set of fonts from a file.
A component that tags an entity as reactive to ui events. Will only work if the entity has a UiTransform component attached to it. Without this, the ui element will not generate events.
This system rearranges UI elements whenever the screen is resized using their
Component indicating that a Ui entity is selectable. Generic Type:
Component indicating that a Ui entity is currently selected.
System managing the selection of entities.
System handling the clicks on ui entities and selecting them, if applicable.
If this component is attached to an entity with a UiText then that UiText is editable. This component also controls how that editing works.
System managing the keyboard inputs for the editable text fields.
This system processes the underlying UI data as needed.
Loads font files, supports TrueType and some OpenType files.
A clickable button, this must be paired with a
Describes an action targeted at a
Attach this to an entity with a
Convenience structure for building a button
Container for all the resources the builder needs to make a new UiButton.
This system manages button mouse events. It changes images and text colors, as well as playing audio when necessary.
Ui Creator, wrapper around loading and creating a UI directly.
A ui event instance.
Specialised UI loader
The system that generates events for
Action that will trigger a sound to play in
Whenever the window is resized the function in this component will be called on this entity's UiTransform, along with the new width and height of the window.
Attach this to an entity to play the respective sound when a
Handles any dispatches
A component used to display text in this entity's UiTransform
The UiTransform represents the transformation of a ui element. Values are in pixel and the position is calculated from the bottom left of the screen to the center of the ui element's area.
Indicated where the anchor is, relative to the parent (or to the screen, if there is no parent). Follow a normal english Y,X naming.
Wrapper format for all core supported Font formats
How lines should behave when they are longer than the maximum line length.
Type used when no custom ui is desired
Indicates if the position and margins should be calculated in pixel or relative to their parent size.
Indicates if a component should be stretched.
Describes the type of a
The type of ui event. Click happens if you start and stop clicking on the same ui element.
Loadable ui components
Describes anything that can receive events one by one or in batches. This
lets whoever wants to receive triggered events decide on how they
want to receive them, instead of forcing them to construct certain
data structures such as a
Returns the default system font.
Returns all the handles to the system fonts.
Get the system default fonts. If unable to, gets the local square.ttf font.
Lists all installed font families on the system.
Checks if an interactable entity is at the position
A handle to font data stored with
Identical to TtfFormat.
Prefab loader system for UI