8#include <tracy/Tracy.hpp>
29 std::string
name =
"game object";
41 bool isVisible_ =
true,
42 const std::string & name_ =
"game object"
54 bool isVisible_ =
true,
55 const std::string & name_ =
"game object"
94 std::optional<std::shared_ptr<SceneNode>>
sceneNode;
LogicComponent(Scene *owningScene)
The mesh asset stores geometry data and.
RenderingDataManager * renderingDataManager_
MeshAsset * getMeshAsset() const
Gets the asset used by this mesh rendering component.
PipelineNames getMaterialNames() const
Gets the material name of this mesh component.
Ecs::StaticMeshData * staticMeshData
std::optional< std::shared_ptr< SceneNode > > sceneNode
void beginPlay() override
Called when the component is added to the scene or the game starts.
bool isVisible() const
If this mesh component should be considered for rendering.
entt::entity componentEntity
~MeshComponent() override=default
MeshComponent(Scene *owningScene, entt::entity &actor, Asset::Path asset, std::shared_ptr< SceneNode > sceneNode, bool isVisible_=true, const std::string &name_="game object")
Production constructor - uses EngineManager singleton to get RenderingDataManager.
glm::mat4 getLocalTransform() const
Gets the local model matrix which isn't affected by its parent.
glm::mat4 getWorldTransform() const
Getter for the world transform of the mesh component.
void endPlay() override
Called when the component is removed or the game ends.
The rendering data manager is supposed to hold all methods to update the contents of the buffers whic...
Represents a node in the scene graph, containing information about its position, rotation,...
A scene is the overarching structure which can spawn actors.
Log category system implementation.