Plasma Engine  2.0
Loading...
Searching...
No Matches
StateMachineState_Script.h
1#pragma once
2
3#include <Core/Scripting/ScriptClassResource.h>
4#include <Foundation/Types/RangeView.h>
5#include <GameEngine/StateMachine/StateMachine.h>
6
8class PL_GAMEENGINE_DLL plStateMachineState_Script : public plStateMachineState
9{
10 PL_ADD_DYNAMIC_REFLECTION(plStateMachineState_Script, plStateMachineState);
11
12public:
15
16 virtual void OnEnter(plStateMachineInstance& ref_instance, void* pInstanceData, const plStateMachineState* pFromState) const override;
17 virtual void OnExit(plStateMachineInstance& ref_instance, void* pInstanceData, const plStateMachineState* pToState) const override;
18 virtual void Update(plStateMachineInstance& ref_instance, void* pInstanceData, plTime deltaTime) const override;
19
20 virtual plResult Serialize(plStreamWriter& inout_stream) const override;
21 virtual plResult Deserialize(plStreamReader& inout_stream) override;
22
23 virtual bool GetInstanceDataDesc(plInstanceDataDesc& out_desc) override;
24
25 void SetScriptClassFile(const char* szFile); // [ property ]
26 const char* GetScriptClassFile() const; // [ property ]
27
28 // Exposed Parameters
29 const plRangeView<const char*, plUInt32> GetParameters() const;
30 void SetParameter(const char* szKey, const plVariant& value);
31 void RemoveParameter(const char* szKey);
32 bool GetParameter(const char* szKey, plVariant& out_value) const;
33
34private:
36
37 plString m_sScriptClassFile;
38};
See plArrayMapBase for details.
Definition ArrayMap.h:149
This class uses delegates to define a range of values that can be enumerated using a forward iterator...
Definition RangeView.h:24
The state machine instance represents the actual state machine. Typically it is created from a descri...
Definition StateMachine.h:144
A state machine state implementation that can be scripted using e.g. visual scripting.
Definition StateMachineState_Script.h:9
Base class for a state in a state machine.
Definition StateMachine.h:20
virtual bool GetInstanceDataDesc(plInstanceDataDesc &out_desc)
Returns whether this state needs additional instance data and if so fills the out_desc.
Definition StateMachine.cpp:71
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Structure to describe an instance data type.
Definition InstanceDataAllocator.h:17
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12