Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
BlamUIWidget_DebugMenu Class Reference

Class used for the Debug Menu UI. More...

#include <debug_menu.h>

+ Inheritance diagram for BlamUIWidget_DebugMenu:
+ Collaboration diagram for BlamUIWidget_DebugMenu:

Public Member Functions

 BlamUIWidget_DebugMenu ()
 
 ~BlamUIWidget_DebugMenu ()
 
void Draw () override
 Draws the widget on-screen. More...
 
void ShowImGuiPropertyEditor () override
 Displays an ImGUI-based property editor. More...
 
void UpdateMetrics () override
 Updates metrics for the widget. More...
 
void RefreshRelativePosition () override
 Updates the relative position of the widget, relative to its parent. More...
 
void SetHidden (bool new_hidden) override
 Sets the hidden state of the widget. More...
 
void OnTickEvent (TickEvent *event) override
 
void OnCharacterInputEvent (CharacterInputEvent *event) override
 
void OnKeyPressEvent (KeyPressEvent *event) override
 
BlamColor GetAnimatedActiveItemBackground ()
 Retrieves the animating active item background color. More...
 
void LoadMenuRootPage ()
 Loads the default menu root page. More...
 
int GetIndexFromHotkeyCharacter (char hotkey)
 Determines the index of a debug menu item based on a pressed hotkey. More...
 
char GetHotkeyCharacterFromIndex (int index)
 Determines the hotkey character for an item at a given index. More...
 
- Public Member Functions inherited from BlamUIWidget
 BlamUIWidget (BlamWidgetType type)
 Constructs a new UI widget. More...
 
 BlamUIWidget (BlamWidgetType type, BlamUIWidget_Group *_parent)
 Constructs a new UI widget. More...
 
virtual ~BlamUIWidget ()
 
BlamWidgetType GetType ()
 Retrieves the type of this widget. More...
 
void RefreshRelativePosition (int viewport_width, int viewport_height, BlamVector2 initial_position)
 Updates the relative position of the widget. More...
 
void SetSize (BlamVector2 new_size)
 Sets the size of the widget. More...
 
virtual void SetPosition (BlamVector2 new_position)
 Sets the position of the widget. More...
 
void SetRotation (float new_rotation)
 Sets the rotation of the widget. More...
 
void SetAnchorPosition (BlamWidgetAnchor new_anchor_position)
 Sets the anchor position of the widget. More...
 
void MarkForUpdate ()
 Marks the widget as needing to be updated on the next draw call. More...
 
BlamVector2 GetAbsolutePosition ()
 Retrieves the absolute position of the widget. More...
 
BlamWidgetAnchor GetAnchorPosition ()
 Retrieves the anchor position of the widget. More...
 
bool IsHidden ()
 Checks whether or not the widget is hidden. More...
 

Public Attributes

float cached_scale_factor = 1.0f
 The current cached UI scale factor. Used to automatically scale the UI when the scale factor is changed. More...
 
BlamVector2 menu_item_size = { 399 , 13 }
 The size of each debug menu item widget. More...
 
- Public Attributes inherited from BlamUIWidget
std::string display_name = "unnamed"
 The display name of the widget. More...
 
std::string description = ""
 An optional description of the widget. More...
 
BlamVector2 position = { 0, 0 }
 The position of the widget, relative to its parent. More...
 
BlamVector2 size = { 100, 100 }
 The size of the widget, relative to its parent. More...
 
float rotation = 0.0f
 The rotation of the widget, in degrees. More...
 
int z_index = 0
 The Z index of the widget, where higher Z orders are drawn on top. More...
 
float z_size = 1.0f
 The Z size of the widget. Mostly unused. More...
 
bool auto_update = false
 Whether or not the widget should always update every frame. More...
 
Ogre::HlmsDatablock * material = nullptr
 The datablock used by the widget, if applicable. More...
 
BlamUIWidget_Groupparent = nullptr
 The parent group of this widget, if applicable. More...
 
bool ignore_layout = false
 Whether or not this widget should ignore any layout positioning. More...
 
bool hide_in_layout = false
 Whether or not this widget should be hidden within its layout. More...
 
bool ignore_scale_factor = false
 Whether or not this widget should ignore the UI scale factor settings. More...
 

Additional Inherited Members

- Protected Member Functions inherited from BlamUIWidget
int GetAdjustedZIndex ()
 Retrieves the adjusted Z-index of the widget. More...
 
- Protected Attributes inherited from BlamUIWidget
BlamVector2 position_absolute = { 0, 0 }
 The absolute position of the widget on-screen. More...
 
BlamVector2 size_absolute = { 100, 100 }
 The absolute size of the widget on-screen. More...
 
bool update = false
 Whether or not the widget needs to be updated before the next draw call. More...
 
bool hidden = false
 Whether or not the widget is hidden. More...
 

Detailed Description

Class used for the Debug Menu UI.

The Debug Menu allows for quick access to many console commands, globals, and script functions - all within a fully configurable menu.

Constructor & Destructor Documentation

◆ BlamUIWidget_DebugMenu()

BlamUIWidget_DebugMenu::BlamUIWidget_DebugMenu ( )
+ Here is the call graph for this function:

◆ ~BlamUIWidget_DebugMenu()

BlamUIWidget_DebugMenu::~BlamUIWidget_DebugMenu ( )

Member Function Documentation

◆ Draw()

void BlamUIWidget_DebugMenu::Draw ( )
overridevirtual

Draws the widget on-screen.

Reimplemented from BlamUIWidget.

+ Here is the call graph for this function:

◆ GetAnimatedActiveItemBackground()

BlamColor BlamUIWidget_DebugMenu::GetAnimatedActiveItemBackground ( )

Retrieves the animating active item background color.

The color returned by this method is continuously updating on each tick.

Returns
The current color within the active item background color transition animation.
+ Here is the call graph for this function:

◆ GetHotkeyCharacterFromIndex()

char BlamUIWidget_DebugMenu::GetHotkeyCharacterFromIndex ( int  index)

Determines the hotkey character for an item at a given index.

Parameters
index- The index of a debug menu item.
Returns
The character representing the hotkey that would activate the item at the provided index, or ? if the resulting hotkey would be out of range.
+ Here is the caller graph for this function:

◆ GetIndexFromHotkeyCharacter()

int BlamUIWidget_DebugMenu::GetIndexFromHotkeyCharacter ( char  hotkey)

Determines the index of a debug menu item based on a pressed hotkey.

Parameters
hotkey- The hotkey character that was pressed.
Returns
The index of the associated menu item, or -1 if the hotkey is outside of the valid character range.
+ Here is the caller graph for this function:

◆ LoadMenuRootPage()

void BlamUIWidget_DebugMenu::LoadMenuRootPage ( )

Loads the default menu root page.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnCharacterInputEvent()

void BlamUIWidget_DebugMenu::OnCharacterInputEvent ( CharacterInputEvent *  event)
override
+ Here is the call graph for this function:

◆ OnKeyPressEvent()

void BlamUIWidget_DebugMenu::OnKeyPressEvent ( KeyPressEvent *  event)
override
+ Here is the call graph for this function:

◆ OnTickEvent()

void BlamUIWidget_DebugMenu::OnTickEvent ( TickEvent *  event)
override

◆ RefreshRelativePosition()

void BlamUIWidget_DebugMenu::RefreshRelativePosition ( )
overridevirtual

Updates the relative position of the widget, relative to its parent.

If the widget has no parent, then it will refresh relative to the viewport instead.

Reimplemented from BlamUIWidget.

+ Here is the call graph for this function:

◆ SetHidden()

void BlamUIWidget_DebugMenu::SetHidden ( bool  new_hidden)
overridevirtual

Sets the hidden state of the widget.

Parameters
new_hidden- Whether or not the widget should be hidden.

Reimplemented from BlamUIWidget.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ShowImGuiPropertyEditor()

void BlamUIWidget_DebugMenu::ShowImGuiPropertyEditor ( )
overridevirtual

Displays an ImGUI-based property editor.

Used in conjunction with the UI Editor window.

Reimplemented from BlamUIWidget.

+ Here is the call graph for this function:

◆ UpdateMetrics()

void BlamUIWidget_DebugMenu::UpdateMetrics ( )
overridevirtual

Updates metrics for the widget.

The term "metrics" as used in this method is generally up to an individual widget class to decide. However, in most cases, it will include position, size, rotation, and color.

Reimplemented from BlamUIWidget.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ cached_scale_factor

float BlamUIWidget_DebugMenu::cached_scale_factor = 1.0f

The current cached UI scale factor. Used to automatically scale the UI when the scale factor is changed.

◆ menu_item_size

BlamVector2 BlamUIWidget_DebugMenu::menu_item_size = { 399 , 13 }

The size of each debug menu item widget.


The documentation for this class was generated from the following files: