Plasma Engine  2.0
Loading...
Searching...
No Matches
TriggerDelayModifierComponent.h
1#pragma once
2
3#include <Core/World/EventMessageHandlerComponent.h>
4#include <GameEngine/GameEngineDLL.h>
5
8
10
21class PL_GAMEENGINE_DLL plTriggerDelayModifierComponent : public plComponent
22{
24
26 // plComponent
27
28public:
29 virtual void SerializeComponent(plWorldWriter& inout_stream) const override;
30 virtual void DeserializeComponent(plWorldReader& inout_stream) override;
31
33 // plTriggerDelayModifierComponent
34
35public:
38
39protected:
40 virtual void Initialize() override;
41
42 void OnMsgTriggerTriggered(plMsgTriggerTriggered& msg);
43 void OnMsgComponentInternalTrigger(plMsgComponentInternalTrigger& msg);
44
45 bool m_bIsActivated = false;
46 plInt32 m_iElementsInside = 0;
47 plInt32 m_iValidActivationToken = 0;
48 plInt32 m_iValidDeactivationToken = 0;
49
50 plTime m_ActivationDelay;
51 plTime m_DeactivationDelay;
52 plHashedString m_sMessage;
53
54 plEventMessageSender<plMsgTriggerTriggered> m_TriggerEventSender; // [ event ]
55};
Base class of all component types.
Definition Component.h:25
virtual void SerializeComponent(plWorldWriter &inout_stream) const
Override this to save the current state of the component to the given stream.
Definition Component.cpp:54
virtual void DeserializeComponent(plWorldReader &inout_stream)
Override this to load the current state of the component from the given stream.
Definition Component.cpp:58
virtual void Initialize()
Can be overridden for basic initialization that depends on a valid hierarchy and position.
Definition Component.cpp:131
Definition ComponentManager.h:88
A message sender that sends all messages to the next component derived from plEventMessageHandlerComp...
Definition EventMessage.h:39
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
Handles plMsgTriggerTriggered events and sends new messages after a delay.
Definition TriggerDelayModifierComponent.h:22
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
For internal use by components to trigger some known behavior. Usually components will post this mess...
Definition TriggerMessage.h:26
Sent when something enters or leaves a trigger.
Definition TriggerMessage.h:37
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12