Clutter Engine 0.0.1
|
Component responsible for managing UI widgets (panels) for the HUD. More...
#include <HUDComponent.h>
Public Member Functions | |
HUDComponent () | |
Constructs a HUDComponent. | |
~HUDComponent () | |
Destructor. Cleans up all widgets. | |
virtual void | SetOwner (Actor *pOwner) override |
Sets the owner actor for this component. | |
template<typename T , typename ... Args> | |
T * | CreateWidget (std::string pName, Args &&...args) |
Creates a new widget of type T and adds it to the HUD. | |
template<typename T > | |
T * | GetWidget (const std::string pName) |
Retrieves a widget of type T by name. | |
void | ShowWidget (const std::string pName) |
Sets the widget with the given name as the current widget and displays it. | |
void | RemoveWidget (const std::string &pName) |
Removes the widget with the given name from the HUD. | |
UIPanel * | GetCurrentWidget () const |
Gets the currently active widget. | |
virtual void | Update () override |
Updates the HUD component and its widgets. | |
![]() | |
Component (int pUpdateOrder=0) | |
Constructor for Component. | |
virtual | ~Component ()=default |
Virtual destructor for Component. | |
virtual void | Start () |
Called when the component is started. | |
virtual void | Destroy () |
Called to destroy the component. | |
void | SetActive (bool pActive) |
Enables or disables the component. | |
void | OnDestroy () |
Called when the component is destroyed. | |
bool | IsActive () const |
Checks if the component is enabled. | |
int | GetUpdateOrder () const |
Gets the update order of the component. | |
void | SetRelativeLocation (const Vector3 &loc) |
Sets the relative location of the component. | |
void | SetRelativeLocation (const Vector2 &loc) |
Sets the relative location of the component. | |
void | SetWorldLocation (const Vector3 &loc) |
Sets the world location of the component. | |
void | SetRelativeScale (const Vector3 &scale) |
Sets the relative scale of the component. | |
void | SetRelativeScale (const Vector2 &scale) |
Sets the relative scale of the component. | |
void | SetRelativeRotation (Quaternion rot) |
Sets the relative rotation of the component. | |
void | SetRelativeRotation (Vector3 rot) |
Sets the relative rotation of the component. | |
void | SetWorldRotation (const Quaternion &rot) |
Sets the world rotation of the component. | |
void | SetWorldRotation (const Vector3 &rot) |
Sets the world rotation of the component. | |
void | AddRelativeRotation (Vector3 rot) |
Adds a rotation to the current relative rotation. | |
void | SetRelativeRotation (float rot) |
Sets the relative rotation of the component. | |
void | SetRelativeTransform (Transform &transform) |
Sets the relative transform of the component. | |
Vector3 | GetRelativeLocation () const |
Gets the relative location of the component. | |
Vector3 | GetRelativeScale () const |
Gets the relative scale of the component. | |
Quaternion | GetRelativeRotation () const |
Gets the relative rotation of the component. | |
Vector3 | GetRelativeRotationEuler () const |
Gets the relative rotation of the component as Euler angles. | |
Transform | GetRelativeTransform () const |
Gets the relative transform of the component. | |
Vector3 | GetWorldLocation () const |
Gets the world location of the component. | |
Vector3 | GetWorldScale () const |
Gets the world scale of the component. | |
Quaternion | GetWorldRotation () const |
Gets the world rotation of the component. | |
virtual Transform | GetWorldTransform () const |
Gets the world transform of the component. | |
Actor * | GetOwner () const |
Gets the owner actor of this component. | |
Additional Inherited Members | |
![]() | |
friend | Actor |
![]() | |
bool | LineTrace (Vector3 start, Vector3 direction, float maxDistance, raycastHit &hit, bool debugPersistant=false) |
Performs a line trace (raycast) using the owning actor. | |
![]() | |
bool | mIsActive = true |
Indicates if the component is active. | |
int | mUpdateOrder = 0 |
The order in which the component is updated. | |
Actor * | mOwner |
The actor that owns this component. | |
Transform | mRelativeTransform |
The relative transform of the component to its owner. | |
Component responsible for managing UI widgets (panels) for the HUD.
HUDComponent allows creation, retrieval, display, and removal of UI widgets. It keeps track of the currently active widget and provides update functionality.
|
inline |
Creates a new widget of type T and adds it to the HUD.
Template implementation for creating a widget of type T.
T | Type of the widget, must derive from UIPanel. |
Args | Constructor argument types. |
pName | Name to associate with the widget. |
args | Arguments to forward to the widget's constructor. |
|
inline |
Gets the currently active widget.
|
inline |
Retrieves a widget of type T by name.
Template implementation for retrieving a widget of type T by name.
T | Type of the widget, must derive from UIPanel. |
pName | Name of the widget. |
void HUDComponent::RemoveWidget | ( | const std::string & | pName | ) |
Removes the widget with the given name from the HUD.
pName | Name of the widget to remove. |
|
overridevirtual |
Sets the owner actor for this component.
pOwner | Pointer to the owning Actor. |
Reimplemented from clt::Component.
void HUDComponent::ShowWidget | ( | const std::string | pName | ) |
Sets the widget with the given name as the current widget and displays it.
pName | Name of the widget to show. |
|
overridevirtual |
Updates the HUD component and its widgets.
Reimplemented from clt::Component.
Reimplemented in DoomHUD, and MainMenuHUD.