19 std::shared_ptr<Entities::SceneNode>
sceneNode,
20 bool isVisible_ =
true,
21 const std::string & name_ =
"game object"
28 std::shared_ptr<Entities::SceneNode>
sceneNode,
29 Core::RenderingDataManager * renderingDataManager,
30 bool isVisible_ =
true,
31 const std::string & name_ =
"game object"
bool isCollisionEnabled() const
CollidableMesh(Entities::Scene *owningScene, entt::entity &actor, Asset::Path asset, std::shared_ptr< Entities::SceneNode > sceneNode, Core::RenderingDataManager *renderingDataManager, bool isVisible_=true, const std::string &name_="game object")
static constexpr const char * ComponentName
void removeOwnedCollision()
bool createCollisionFromProperties()
CollidableMesh(Entities::Scene *owningScene, entt::entity &actor, Asset::Path asset, std::shared_ptr< Entities::SceneNode > sceneNode, bool isVisible_=true, const std::string &name_="game object")
void rebuildOwnedCollision()
void setCollisionProperties(const Assets::Loaders::GltfLoader::VulkanSchneeExtension::CollisionProperties &properties)
bool createFallbackBoxCollision()
Assets::Loaders::GltfLoader::VulkanSchneeExtension::CollisionProperties CollisionProperties
void clearCollisionProperties()
void endPlay() override
Called when the component is removed or the game ends.
void onMeshAssetResolved(Assets::MeshAssetRef meshAsset) override
void enableCollision(bool enabled)
void setCollisionStatic(bool isStatic)
std::optional< CollisionProperties > collisionProperties_
std::vector< Collision * > ownedCollisionChildren_
std::optional< std::shared_ptr< Entities::SceneNode > > sceneNode
Mesh(Entities::Scene *owningScene, entt::entity &actor, Asset::Path asset, std::shared_ptr< Entities::SceneNode > sceneNode, bool isVisible_=true, const std::string &name_="game object")
Production constructor - uses EngineManager singleton to get RenderingDataManager.
A scene is the overarching structure which can spawn, contain and destroy actors or entities.
Asset::Ref< Asset::Path, Mesh > MeshAssetRef
Stores collision shape properties imported from Blender.