Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
WindTrailComponent.h
Go to the documentation of this file.
1#pragma once
2
4#include <memory>
5
6namespace Engine::Entities
7{
8 class SceneNode;
9 class Scene;
10} // namespace Engine::Entities
11
12namespace Engine::Components {
13
14class WindTrail : public Logic {
15public:
16 static constexpr bool IsUnique = true;
17 static constexpr const char* ComponentName = "WindTrail";
18
19 explicit WindTrail(Entities::Scene* owningScene);
20 ~WindTrail() override = default;
21
22 void beginPlay() override;
23 void endPlay() override;
24
25 [[nodiscard]] std::shared_ptr<Entities::SceneNode> getEmitterNode() const { return emitterNode_; }
26
27private:
28 std::shared_ptr<Entities::SceneNode> emitterNode_;
29};
30
31} // namespace EngineCore
Logic(Entities::Scene *owningScene)
~WindTrail() override=default
void beginPlay() override
Called when the component is added to the scene or the game starts.
std::shared_ptr< Entities::SceneNode > emitterNode_
std::shared_ptr< Entities::SceneNode > getEmitterNode() const
void endPlay() override
Called when the component is removed or the game ends.
static constexpr const char * ComponentName
WindTrail(Entities::Scene *owningScene)
Represents a node in the scene graph, containing information about its position, rotation,...
Definition SceneGraph.h:18
A scene is the overarching structure which can spawn, contain and destroy actors or entities.
Definition Scene.h:56