Plasma Engine  2.0
Loading...
Searching...
No Matches
BlackboardAnimNodes.h
1#pragma once
2
3#include <RendererCore/AnimationSystem/AnimGraph/AnimGraphNode.h>
4
5class PL_RENDERERCORE_DLL plSetBlackboardNumberAnimNode : public plAnimGraphNode
6{
7 PL_ADD_DYNAMIC_REFLECTION(plSetBlackboardNumberAnimNode, plAnimGraphNode);
8
10 // plAnimGraphNode
11
12protected:
13 virtual plResult SerializeNode(plStreamWriter& stream) const override;
14 virtual plResult DeserializeNode(plStreamReader& stream) override;
15
16 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
17
19 // plSetBlackboardNumberAnimNode
20
21public:
22 void SetBlackboardEntry(const char* szEntry); // [ property ]
23 const char* GetBlackboardEntry() const; // [ property ]
24
25 double m_fNumber = 0.0f; // [ property ]
26
27private:
28 plAnimGraphTriggerInputPin m_InActivate; // [ property ]
29 plAnimGraphNumberInputPin m_InNumber; // [ property ]
30 plHashedString m_sBlackboardEntry; // [ property ]
31};
32
36
37class PL_RENDERERCORE_DLL plGetBlackboardNumberAnimNode : public plAnimGraphNode
38{
39 PL_ADD_DYNAMIC_REFLECTION(plGetBlackboardNumberAnimNode, plAnimGraphNode);
40
42 // plAnimGraphNode
43
44protected:
45 virtual plResult SerializeNode(plStreamWriter& stream) const override;
46 virtual plResult DeserializeNode(plStreamReader& stream) override;
47
48 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
49
51 // plGetBlackboardNumberAnimNode
52
53public:
54 void SetBlackboardEntry(const char* szEntry); // [ property ]
55 const char* GetBlackboardEntry() const; // [ property ]
56
57private:
58 plHashedString m_sBlackboardEntry; // [ property ]
59 plAnimGraphNumberOutputPin m_OutNumber; // [ property ]
60};
61
65
66class PL_RENDERERCORE_DLL plCompareBlackboardNumberAnimNode : public plAnimGraphNode
67{
68 PL_ADD_DYNAMIC_REFLECTION(plCompareBlackboardNumberAnimNode, plAnimGraphNode);
69
71 // plAnimGraphNode
72
73protected:
74 virtual plResult SerializeNode(plStreamWriter& stream) const override;
75 virtual plResult DeserializeNode(plStreamReader& stream) override;
76
77 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
78 virtual bool GetInstanceDataDesc(plInstanceDataDesc& out_desc) const override;
79
81 // plCompareBlackboardNumberAnimNode
82
83public:
84 void SetBlackboardEntry(const char* szEntry); // [ property ]
85 const char* GetBlackboardEntry() const; // [ property ]
86
87 double m_fReferenceValue = 0.0; // [ property ]
88 plEnum<plComparisonOperator> m_Comparison; // [ property ]
89
90private:
91 plHashedString m_sBlackboardEntry; // [ property ]
92 plAnimGraphTriggerOutputPin m_OutOnTrue; // [ property ]
93 plAnimGraphTriggerOutputPin m_OutOnFalse; // [ property ]
94 plAnimGraphBoolOutputPin m_OutIsTrue; // [ property ]
95
96 struct InstanceData
97 {
98 plInt8 m_iIsTrue = -1; // -1 == undefined, 0 == false, 1 == true
99 };
100};
101
105
106class PL_RENDERERCORE_DLL plCheckBlackboardBoolAnimNode : public plAnimGraphNode
107{
108 PL_ADD_DYNAMIC_REFLECTION(plCheckBlackboardBoolAnimNode, plAnimGraphNode);
109
111 // plAnimGraphNode
112
113protected:
114 virtual plResult SerializeNode(plStreamWriter& stream) const override;
115 virtual plResult DeserializeNode(plStreamReader& stream) override;
116
117 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
118 virtual bool GetInstanceDataDesc(plInstanceDataDesc& out_desc) const override;
119
121 // plCheckBlackboardBoolAnimNode
122
123public:
124 void SetBlackboardEntry(const char* szEntry); // [ property ]
125 const char* GetBlackboardEntry() const; // [ property ]
126
127private:
128 plHashedString m_sBlackboardEntry; // [ property ]
129 plAnimGraphTriggerOutputPin m_OutOnTrue; // [ property ]
130 plAnimGraphTriggerOutputPin m_OutOnFalse; // [ property ]
131 plAnimGraphBoolOutputPin m_OutBool; // [ property ]
132
133 struct InstanceData
134 {
135 plInt8 m_iIsTrue = -1; // -1 == undefined, 0 == false, 1 == true
136 };
137};
138
142
143class PL_RENDERERCORE_DLL plSetBlackboardBoolAnimNode : public plAnimGraphNode
144{
145 PL_ADD_DYNAMIC_REFLECTION(plSetBlackboardBoolAnimNode, plAnimGraphNode);
146
148 // plAnimGraphNode
149
150protected:
151 virtual plResult SerializeNode(plStreamWriter& stream) const override;
152 virtual plResult DeserializeNode(plStreamReader& stream) override;
153
154 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
155
157 // plSetBlackboardBoolAnimNode
158
159public:
160 void SetBlackboardEntry(const char* szEntry); // [ property ]
161 const char* GetBlackboardEntry() const; // [ property ]
162
163 bool m_bBool = false; // [ property ]
164
165private:
166 plHashedString m_sBlackboardEntry; // [ property ]
167 plAnimGraphTriggerInputPin m_InActivate; // [ property ]
168 plAnimGraphBoolInputPin m_InBool; // [ property ]
169};
170
174
175class PL_RENDERERCORE_DLL plGetBlackboardBoolAnimNode : public plAnimGraphNode
176{
177 PL_ADD_DYNAMIC_REFLECTION(plGetBlackboardBoolAnimNode, plAnimGraphNode);
178
180 // plAnimGraphNode
181
182protected:
183 virtual plResult SerializeNode(plStreamWriter& stream) const override;
184 virtual plResult DeserializeNode(plStreamReader& stream) override;
185
186 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
187
189 // plGetBlackboardBoolAnimNode
190
191public:
192 void SetBlackboardEntry(const char* szEntry); // [ property ]
193 const char* GetBlackboardEntry() const; // [ property ]
194
195private:
196 plHashedString m_sBlackboardEntry; // [ property ]
197 plAnimGraphBoolOutputPin m_OutBool; // [ property ]
198};
199
203
204class PL_RENDERERCORE_DLL plOnBlackboardValueChangedAnimNode : public plAnimGraphNode
205{
206 PL_ADD_DYNAMIC_REFLECTION(plOnBlackboardValueChangedAnimNode, plAnimGraphNode);
207
209 // plAnimGraphNode
210
211protected:
212 virtual plResult SerializeNode(plStreamWriter& stream) const override;
213 virtual plResult DeserializeNode(plStreamReader& stream) override;
214
215 virtual void Step(plAnimController& ref_controller, plAnimGraphInstance& ref_graph, plTime tDiff, const plSkeletonResource* pSkeleton, plGameObject* pTarget) const override;
216 virtual bool GetInstanceDataDesc(plInstanceDataDesc& out_desc) const override;
217
219 // plOnBlackboardValuechangedAnimNode
220
221public:
222 void SetBlackboardEntry(const char* szEntry); // [ property ]
223 const char* GetBlackboardEntry() const; // [ property ]
224
225private:
226 plHashedString m_sBlackboardEntry; // [ property ]
227 plAnimGraphTriggerOutputPin m_OutOnValueChanged; // [ property ]
228
229 struct InstanceData
230 {
231 plUInt32 m_uiChangeCounter = plInvalidIndex;
232 };
233};
Definition AnimController.h:52
Definition AnimGraphPins.h:130
Definition AnimGraphPins.h:140
Definition AnimGraphInstance.h:15
Base class for all nodes in an plAnimGraphInstance.
Definition AnimGraphNode.h:36
Definition AnimGraphPins.h:108
Definition AnimGraphPins.h:118
Definition AnimGraphPins.h:81
Definition AnimGraphPins.h:92
Definition BlackboardAnimNodes.h:107
Definition BlackboardAnimNodes.h:67
This class represents an object inside the world.
Definition GameObject.h:32
Definition BlackboardAnimNodes.h:176
Definition BlackboardAnimNodes.h:38
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
Definition BlackboardAnimNodes.h:205
Definition BlackboardAnimNodes.h:144
Definition BlackboardAnimNodes.h:6
Definition SkeletonResource.h:47
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
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