Hymn to Beauty
C++ 3D Engine
Trigger.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "SuperComponent.hpp"
4
5class SuperTrigger;
7
8namespace Json {
9class Value;
10}
11
12namespace Component {
14class Trigger : public SuperComponent {
15 friend class ::TriggerManager;
16
17 public:
19
21 Trigger();
22
24 ~Trigger() override;
25
26 void Serialize(Json::Value& node, bool load) override;
27
29
33
35
38 void SetTrigger(SuperTrigger* trigger);
39
41 TriggerTypes triggerType = TriggerTypes::ONCE;
42
43 private:
44 Json::Value Save() const;
45 void Load(Json::Value& node);
46
47 SuperTrigger* superTrigger = nullptr;
48};
49} // namespace Component
Component which all components inherit.
Definition: SuperComponent.hpp:9
Component defining a trigger event.
Definition: Trigger.hpp:14
void Serialize(Json::Value &node, bool load) override
Save or load component values to/from JSON.
Definition: Trigger.cpp:20
SuperTrigger * GetTrigger()
Get trigger of this component.
Definition: Trigger.cpp:28
~Trigger() override
Destructor.
Definition: Trigger.cpp:15
TriggerTypes triggerType
What type of trigger type this component is. Set to ONCE by default.
Definition: Trigger.hpp:41
TriggerTypes
Definition: Trigger.hpp:18
@ LOOK_AT
Definition: Trigger.hpp:18
@ REPEAT
Definition: Trigger.hpp:18
@ ONCE
Definition: Trigger.hpp:18
@ NUMBER_OF_TYPES
Definition: Trigger.hpp:18
@ PROXIMITY
Definition: Trigger.hpp:18
void SetTrigger(SuperTrigger *trigger)
Get trigger of this component.
Definition: Trigger.cpp:32
Trigger()
Create new trigger.
Definition: Trigger.cpp:11
Super class for triggers to inherit from.
Definition: SuperTrigger.hpp:8
Trigger management.
Definition: TriggerManager.hpp:18
Definition: BoxShapeEditor.hpp:5
Definition: Json.cpp:3