Capycore Engine  0.1.0
A simple and lightweight game engine written in C++ based on the Unity API architecture.
Loading...
Searching...
No Matches
UIFPS Class Reference

UI Component that displays the current frames per second (FPS). More...

#include <ui_fps.h>

Inheritance diagram for UIFPS:
[legend]

Public Member Functions

 UIFPS (Scene &Scene)
 
void update (float dt) override
 Update the UI object.
 
- Public Member Functions inherited from UIObject
 UIObject (Scene &scene, float width, float height, Point pivot, Point anchor)
 
virtual void render () const
 Render the UI object.
 
float width () const
 
UIObjectwidth (float width)
 
float height () const
 
UIObjectheight (float height)
 
Point pivot () const
 
UIObjectpivot (Point pivot)
 
Point anchor () const
 
UIObjectanchor (Point anchor)
 
- Public Member Functions inherited from GameObject
 GameObject (Scene &scene)
 
virtual ~GameObject ()=default
 
 GameObject (const GameObject &)=delete
 
GameObjectoperator= (const GameObject &)=delete
 
 GameObject (GameObject &&)=default
 
GameObjectoperator= (GameObject &&)=default
 
std::optional< std::reference_wrapper< GameObject > > parent () const
 
GameObjectparent (GameObject &parent)
 
GameObjectparent (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
 
GameObjectmark_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
 
GameObjectname (const std::string &name)
 
const std::string & name () const
 
GameObjecttag (const std::string &tag)
 
const std::string & tag () const
 
GameObjectprefab_type_id (const std::string &id)
 
const std::string & prefab_type_id () const
 
GameObjectlayer (int layer)
 
int layer () const
 
GameObjecttransform (Transform transform)
 
Transformtransform ()
 
const Transformtransform () const
 
Scenescene () const noexcept
 
void scene (Scene &scene) noexcept
 
std::vector< std::reference_wrapper< GameObject > > & children ()
 
GameObjectadd_child (GameObject &child)
 
GameObjectremove_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>
Tadd_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.
 

Additional Inherited Members

- Protected Attributes inherited from UIObject
float width_
 
float height_
 
Point pivot_
 
Point anchor_
 

Detailed Description

UI Component that displays the current frames per second (FPS).

The UIFPS component shows the current FPS in the UI, allowing developers to monitor performance in real-time.

Usage:

  • Create a UIFPS component and attach it to a UI GameObject.
  • The component will automatically update and display the FPS during the update cycle.

Constructor & Destructor Documentation

◆ UIFPS()

UIFPS::UIFPS ( Scene Scene)
explicit

Member Function Documentation

◆ update()

void UIFPS::update ( float  dt)
overridevirtual

Update the UI object.

This should be overridden by derived classes to implement specific update logic. Such as handling animations or state changes (e.g pressed, hovered, etc.).

Parameters
dtDelta time since the last update.

Reimplemented from UIObject.


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