2#include "Engine/Component/LogicComponent.h"
3#include "Engine/Entity/Actor.h"
5#include <entt/entity/entity.hpp>
6#include <glm/gtx/quaternion.hpp>
7#include <glm/mat4x4.hpp>
17 struct LocalTransform;
57 const glm::vec3& position,
58 const glm::quat& rotation);
68 const glm::vec3& position,
69 const glm::vec3& rotation);
81 const entt::entity& parent,
82 const glm::vec3& position,
83 const glm::quat& rotation,
84 const glm::vec3& scale);
Logic(Entities::Scene *owningScene)
Constructs a logic component owned by a scene.
Scene(Entities::Scene *scene, const entt::entity &parent, const glm::vec3 &position, const glm::quat &rotation, const glm::vec3 &scale)
Constructs a scene component with local position, rotation, and scale.
Scene(Entities::Scene *scene, const entt::entity &parent, const glm::vec3 &position)
Constructs a scene component at a local position.
Ecs::Transform * transformComponent
Transform data stored on the created ECS component entity.
void setParent(const entt::entity &parent)
entt::entity component
Stores the data.
Scene(Entities::Scene *scene, const entt::entity &parent, const glm::vec3 &position, const glm::vec3 &rotation)
Constructs a scene component at a local position and Euler rotation.
Scene(Entities::Scene *scene, const entt::entity &parent, const glm::mat4 &transform)
Constructs a scene component with an explicit local transform matrix.
Scene(Entities::Scene *scene)
Constructs a scene component without creating a transform entity.
Ecs::Parent * parentComponent
Parent relationship stored on the transform hierarchy entity.
Scene(Entities::Scene *scene, const entt::entity &parent, const glm::vec3 &position, const glm::quat &rotation)
Constructs a scene component at a local position and quaternion rotation.
Owns scene entities, actor lifetime, and the scene graph root.
EnTT component data used by engine systems.
Parent entity link for component-owned ECS entities.