|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
An Actor is similar to an Engine::Entities::Entity. An actor is an Entity with a transform. More...
#include <Actor.h>
Public Member Functions | |
| Actor (std::shared_ptr< SceneNode > sceneNode, Scene *owningScene) | |
| ~Actor () override=default | |
| virtual void | beginPlay () |
| Gets executed when the actor is spawned into the world. | |
| void | tick (double deltaTime) override |
| Executed every frame. | |
| virtual void | endPlay () |
| virtual std::string | getActorName () const |
| glm::vec3 | getActorLocation () const |
| Gets the actors location in the world. | |
| glm::vec3 | getActorRotation () const |
| Gets the actors rotation in the world. | |
| glm::vec3 | getActorScale () const |
| Scales the actor to world scale. | |
| void | setActorLocation (glm::vec3 newLocation) const |
| Set the new world location for this actor. | |
| void | setActorRotation (glm::vec3 newRotation) const |
| Sets the world rotation. | |
| void | rotateActor (glm::vec3 deltaRotation) const |
| Applies an incremental rotation to the actor using quaternion multiplication. Use this instead of getActorRotation() + setActorRotation() for continuous rotation to avoid euler angle instability/jiggling. | |
| void | setActorScale (glm::vec3 newScale) const |
| sets the world scale for this actor | |
| glm::mat4 | getWorldTransform () const |
| Gets the model matrix. | |
| Scene * | getOwningScene () const |
| Get the pointer to the scene this entity is a part of. | |
| std::shared_ptr< SceneNode > | getSceneNode () const |
| Getter for the scene graph node for this object. | |
| Public Member Functions inherited from Engine::Entities::Entity | |
| Entity () | |
| ~Entity () override | |
| void | enableTick (bool enable) |
| Enables or disables ticking for this entity. | |
| void | setTickPriority (int32_t priority) |
| int32_t | getTickPriority () const |
| void | tick (double deltaTime) override |
| Executes every frame if tick is enabled. | |
| template<typename T, typename... Args> requires std::is_base_of_v<Components::Logic, T> | |
| T * | addComponent (Args &&... args) |
| Adds a component to the entity. Checks for uniqueness if the component defines 'static constexpr bool IsUnique = true;'. | |
| template<typename T> requires std::is_base_of_v<Components::Logic, T> | |
| T * | getComponent () const |
| Returns the first component of type T found. | |
| template<typename T> requires std::is_base_of_v<Components::Logic, T> | |
| std::vector< T * > | getComponents () const |
| Returns all components of type T. | |
| void | removeComponent (Components::Logic *component) |
| Removes a specific component instance. | |
| template<typename T> requires std::is_base_of_v<Components::Logic, T> | |
| bool | removeFirstComponent () |
| Removes the first component of type T found. | |
| template<typename T> requires std::is_base_of_v<Components::Logic, T> | |
| bool | hasComponent () const |
| Checks if a component of type T exists. | |
| const std::vector< std::unique_ptr< Components::Logic > > & | getAllComponents () const |
| Gets all components on this entity. | |
| bool | canTick () const |
| Tells you if the entity can execute its tick function. | |
| bool | canEverTick () const |
| Tells if this entity can ever tick. | |
| entt::entity | getEcsEntity () const |
| Gets the ECS entity handle for this Entity. | |
| Public Member Functions inherited from Engine::Core::ITickable | |
| virtual | ~ITickable ()=default |
| virtual void | preTick () |
| Function which executes immediately before the execution of ITickable::preTick() | |
| virtual void | postTick () |
| Function which executes immediately after the execution of ITickable::postTick() | |
Protected Attributes | |
| std::optional< std::shared_ptr< SceneNode > > | sceneNode |
| Protected Attributes inherited from Engine::Entities::Entity | |
| std::vector< std::unique_ptr< Components::Logic > > | components_ |
| List of all logical components. | |
| entt::entity | data_ = entt::null |
| bool | allowTicking_ = false |
| int32_t | tickPriority_ = 0 |
Private Attributes | |
| Scene * | owningScene_ = nullptr |
| std::weak_ptr< Components::Scene > | rootComponent_ |
| bool | hasEndedPlay_ = false |
Additional Inherited Members | |
| Protected Member Functions inherited from Engine::Entities::Entity | |
| uuids::uuid | getUUID () const |
| Getter for the UUID of this entity. | |
| std::string | getUuidString () const |
| Getter for the UUID of this entity as a string. | |
An Actor is similar to an Engine::Entities::Entity. An actor is an Entity with a transform.
|
overridedefault |
|
virtual |
Gets executed when the actor is spawned into the world.
|
virtual |
| glm::vec3 Engine::Entities::Actor::getActorLocation | ( | ) | const |
Gets the actors location in the world.
|
nodiscardvirtual |
| glm::vec3 Engine::Entities::Actor::getActorRotation | ( | ) | const |
Gets the actors rotation in the world.
| glm::vec3 Engine::Entities::Actor::getActorScale | ( | ) | const |
Scales the actor to world scale.
| Scene * Engine::Entities::Actor::getOwningScene | ( | ) | const |
| std::shared_ptr< SceneNode > Engine::Entities::Actor::getSceneNode | ( | ) | const |
Getter for the scene graph node for this object.
| glm::mat4 Engine::Entities::Actor::getWorldTransform | ( | ) | const |
Gets the model matrix.
| void Engine::Entities::Actor::rotateActor | ( | glm::vec3 | deltaRotation | ) | const |
Applies an incremental rotation to the actor using quaternion multiplication. Use this instead of getActorRotation() + setActorRotation() for continuous rotation to avoid euler angle instability/jiggling.
| deltaRotation | euler angles (degrees) to rotate by |
| void Engine::Entities::Actor::setActorLocation | ( | glm::vec3 | newLocation | ) | const |
Set the new world location for this actor.
| newLocation | xyz |
| void Engine::Entities::Actor::setActorRotation | ( | glm::vec3 | newRotation | ) | const |
Sets the world rotation.
| newRotation | euler (yaw | pitch | roll) |
| void Engine::Entities::Actor::setActorScale | ( | glm::vec3 | newScale | ) | const |
sets the world scale for this actor
| newScale | xyz |
|
overridevirtual |
Executed every frame.
| deltaTime | time between this frame and the last frame |
Reimplemented from Engine::Core::ITickable.
|
private |
|
private |
|
protected |