|
Capycore Engine
0.1.0
A simple and lightweight game engine written in C++ based on the Unity API architecture.
|
Camera GameObject class Inherits from GameObject class and represents a camera in the scene. A scene requires at least one camera to render the view and can have multiple cameras. However, only one camera can be designated as the main camera at a time. More...
#include <camera.h>
Public Member Functions | |
| Camera (Scene &scene, Color backgroundColor, float zoom, bool isMain) | |
| void | set_background_color (const Color &color) |
| Sets the background color of the camera. | |
| Color | background_color () const |
| void | set_zoom (float zoom) |
| Sets the zoom level of the camera. | |
| float | zoom () const |
| void | set_main () |
| The main camera is the one used for rendering the primary view of the scene. Only one camera can be the main camera at any given time. | |
| void | set_not_main () |
| bool | is_main () const |
| int | get_screen_width () const |
| Retrieves the current screen width in pixels. | |
| int | get_screen_height () const |
| Retrieves the current screen height in pixels. | |
Public Member Functions inherited from GameObject | |
| 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. | |
Camera GameObject class Inherits from GameObject class and represents a camera in the scene. A scene requires at least one camera to render the view and can have multiple cameras. However, only one camera can be designated as the main camera at a time.
Usage:
| Color Camera::background_color | ( | ) | const |
| int Camera::get_screen_height | ( | ) | const |
Retrieves the current screen height in pixels.
| int Camera::get_screen_width | ( | ) | const |
Retrieves the current screen width in pixels.
| bool Camera::is_main | ( | ) | const |
Sets the background color of the camera.
| color | The Color object representing the desired background color. This color will be used to clear the screen before rendering the scene. |
| void Camera::set_main | ( | ) |
The main camera is the one used for rendering the primary view of the scene. Only one camera can be the main camera at any given time.
| void Camera::set_not_main | ( | ) |
Sets the zoom level of the camera.
| zoom | The desired zoom level. A zoom level of 1.0 represents normal view, values greater than 1.0 zoom in, and values less than 1.0 zoom out. |
| float Camera::zoom | ( | ) | const |