|
| | UIInteractable (Scene &scene, float width, float height, Point pivot, Point anchor) |
| |
| void | update_interaction (float dt) |
| | Update interaction state based on input.
|
| |
| UIInteractionState & | state () |
| |
| const UIInteractionState & | state () const |
| |
| void | disable () |
| | Disable the interactable element.
|
| |
| void | enable () |
| | Enable the interactable element.
|
| |
| virtual void | on_hover () |
| | Event hook for when the element is hovered.
|
| |
| virtual void | on_unhover () |
| | Event hook for when the element is unhovered.
|
| |
| virtual void | on_press () |
| | Event hook for when the element is pressed.
|
| |
| virtual void | on_release () |
| | Event hook for when the element is released.
|
| |
| virtual void | on_hold () |
| | Event hook for when the element is held down.
|
| |
| virtual void | on_focus () |
| | Event hook for when the element gains focus.
|
| |
| virtual void | on_unfocus () |
| | Event hook for when the element loses focus.
|
| |
| void | add_on_hover (const std::function< void(UIInteractable &)> &handler) |
| |
| void | add_on_unhover (const std::function< void(UIInteractable &)> &handler) |
| |
| void | add_on_press (const std::function< void(UIInteractable &)> &handler) |
| |
| void | add_on_release (const std::function< void(UIInteractable &)> &handler) |
| |
| void | add_on_focus (const std::function< void(UIInteractable &)> &handler) |
| |
| void | add_on_unfocus (const std::function< void(UIInteractable &)> &handler) |
| |
| | UIObject (Scene &scene, float width, float height, Point pivot, Point anchor) |
| |
| virtual void | update (float dt) |
| | Update the UI object.
|
| |
| virtual void | render () const |
| | Render the UI object.
|
| |
| float | width () const |
| |
| UIObject & | width (float width) |
| |
| float | height () const |
| |
| UIObject & | height (float height) |
| |
| Point | pivot () const |
| |
| UIObject & | pivot (Point pivot) |
| |
| Point | anchor () const |
| |
| UIObject & | anchor (Point anchor) |
| |
| | GameObject (Scene &scene) |
| |
| virtual | ~GameObject ()=default |
| |
| | GameObject (const GameObject &)=delete |
| |
| GameObject & | operator= (const GameObject &)=delete |
| |
| | GameObject (GameObject &&)=default |
| |
| GameObject & | operator= (GameObject &&)=default |
| |
| std::optional< std::reference_wrapper< GameObject > > | parent () const |
| |
| GameObject & | parent (GameObject &parent) |
| |
| GameObject & | parent (std::nullopt_t null_opt) |
| |
| std::string | id () const noexcept |
| |
| bool | is_active_in_world () const noexcept |
| | Retrieves whether the GameObject is active in the world.
|
| |
| bool | is_active () const noexcept |
| | Retrieves whether the GameObject is active.
|
| |
| void | set_inactive () noexcept |
| |
| void | set_active () noexcept |
| |
| void | set_active_in_world () noexcept |
| |
| void | set_inactive_in_world () noexcept |
| |
| GameObject & | mark_for_deletion () noexcept |
| | Marks the GameObject for deletion.
|
| |
| bool | marked_for_deletion () const noexcept |
| |
| void | mark_dont_destroy_on_load (bool dont_destroy) noexcept |
| | Sets whether the GameObject should not be destroyed on scene load.
|
| |
| bool | dont_destroy_on_load () const noexcept |
| |
| GameObject & | name (const std::string &name) |
| |
| const std::string & | name () const |
| |
| GameObject & | tag (const std::string &tag) |
| |
| const std::string & | tag () const |
| |
| GameObject & | prefab_type_id (const std::string &id) |
| |
| const std::string & | prefab_type_id () const |
| |
| GameObject & | layer (int layer) |
| |
| int | layer () const |
| |
| GameObject & | transform (Transform transform) |
| |
| Transform & | transform () |
| |
| const Transform & | transform () const |
| |
| Scene & | scene () const noexcept |
| |
| void | scene (Scene &scene) noexcept |
| |
| std::vector< std::reference_wrapper< GameObject > > & | children () |
| |
| GameObject & | add_child (GameObject &child) |
| |
| GameObject & | remove_child (GameObject &child) |
| |
| template<IsComponent T> |
| std::optional< std::reference_wrapper< T > > | get_component () const noexcept |
| | Get the first component of type T attached to this GameObject.
|
| |
| template<IsComponent T> |
| std::vector< std::reference_wrapper< T > > | get_components () const |
| | Get all components of type T attached to this GameObject.
|
| |
| template<IsComponent BS, typename B > |
| std::optional< std::reference_wrapper< B > > | get_script () const noexcept |
| | Get the first script component of base type BS with behavior of type B.
|
| |
| std::vector< std::reference_wrapper< Component > > | get_components_all () const |
| | Get all components attached to this GameObject.
|
| |
| template<IsComponent T> |
| std::vector< std::reference_wrapper< T > > | get_components_from_children () const |
| | Get all components of type T attached to this GameObject and its children.
|
| |
| template<IsComponent T, typename... Args> |
| T & | add_component (Args &&... args) |
| | Adds a component of type T to this GameObject.
|
| |
| template<IsComponent T> |
| void | remove_component (T &component) |
| | Removes a component of type T from this GameObject.
|
| |
| void | remove_all_components () |
| |
| void | serialize (std::vector< uint8_t > &out) const |
| | Serialize this GameObject's own state and its components into out. The format produced is: uint16_t name_len, name bytes uint16_t tag_len, tag bytes uint8_t is_active int32_t layer uint16_t component_count for each component: uint16_t type_name_len, type_name bytes uint32_t payload_len, payload bytes.
|
| |
| void | deserialize (const std::vector< uint8_t > &data, size_t &offset) |
| | Deserialize this GameObject's state and dispatch component payloads from data starting at offset. Implementations should advance offset by the number of bytes consumed. Subclasses overriding this method should call GameObject::deserialize first to keep base behavior.
|
| |
Base class for interactive UI elements.
UIInteractable extends UIObject to provide interaction capabilities such as hover, press, hold, and focus states. It includes event hooks that can be overridden by derived classes or have handlers attached.