Hymn to Beauty
C++ 3D Engine
TriggerManager.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include "../Entity/ComponentContainer.hpp"
5
6class SuperTrigger;
7class TriggerRepeat;
8
9namespace Component {
10class Trigger;
11}
12
13namespace Physics {
14class Shape;
15}
16
19 friend class Hub;
20
21 public:
25 void ProcessTriggers();
26
28
32
34
38 void AddTriggerRepeat(Component::Trigger* trigger, std::shared_ptr<Physics::Shape> shape);
39
41
46
48
51 const std::vector<Component::Trigger*>& GetTriggerComponents() const;
52
55
57 void InitiateUID();
58
60 void InitiateVolumes();
61
64
65 private:
68 TriggerManager(const TriggerManager&) = delete;
69 void operator=(const TriggerManager&) = delete;
70
72};
Component defining a trigger event.
Definition: Trigger.hpp:14
Stores components.
Definition: ComponentContainer.hpp:7
Singleton class that holds all subsystems.
Definition: Managers.hpp:16
Super class for triggers to inherit from.
Definition: SuperTrigger.hpp:8
Trigger management.
Definition: TriggerManager.hpp:18
void ClearKilledComponents()
Remove all killed components.
Definition: TriggerManager.cpp:64
void SynchronizeTriggers()
Update the trigger volume data.
Definition: TriggerManager.cpp:55
void InitiateVolumes()
Set trigger volumes.
Definition: TriggerManager.cpp:77
void AddTriggerRepeat(Component::Trigger *trigger, std::shared_ptr< Physics::Shape > shape)
Add a repeating trigger to the component.
Definition: TriggerManager.cpp:35
Component::Trigger * CreateTrigger()
Create a trigger component.
Definition: TriggerManager.cpp:27
void ProcessTriggers()
Definition: TriggerManager.cpp:18
const std::vector< Component::Trigger * > & GetTriggerComponents() const
Get all trigger components.
Definition: TriggerManager.cpp:51
TriggerRepeat * GetTriggerRepeat(const Component::Trigger &trigger) const
Get the repeat trigger of a trigger component.
Definition: TriggerManager.cpp:47
void InitiateUID()
Find and set entity with Unique ID.
Definition: TriggerManager.cpp:68
Trigger that can be executed multiple times.
Definition: TriggerRepeat.hpp:31
Definition: BoxShapeEditor.hpp:5
Definition: IShapeEditor.hpp:7