Plasma Engine  2.0
Loading...
Searching...
No Matches
GameAiBehaviors.h
1#pragma once
2
3#include <AiPlugin/AiPluginDLL.h>
4#include <AiPlugin/UtilityAI/Framework/AiBehavior.h>
5
9
10class PL_AIPLUGIN_DLL plAiBehaviorGoToPOI : public plAiBehavior
11{
12public:
15
16 virtual void FlagNeededPerceptions(plAiPerceptionManager& ref_PerceptionManager) override;
17
18 virtual plAiBehaviorScore DetermineBehaviorScore(plGameObject& owner, const plAiPerceptionManager& perceptionManager) override;
19 virtual void ActivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
20 void ReactivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
21
22private:
23 plVec3 m_vTargetPosition = plVec3::MakeZero();
24};
25
29
30class PL_AIPLUGIN_DLL plAiBehaviorWander : public plAiBehavior
31{
32public:
35
36 virtual void FlagNeededPerceptions(plAiPerceptionManager& ref_PerceptionManager) override;
37
38 virtual plAiBehaviorScore DetermineBehaviorScore(plGameObject& owner, const plAiPerceptionManager& perceptionManager) override;
39 virtual void ActivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
40 void ReactivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override {}
41
42private:
43 plVec3 m_vTargetPosition = plVec3::MakeZero();
44};
45
49
50class PL_AIPLUGIN_DLL plAiBehaviorGoToCheckpoint : public plAiBehavior
51{
52public:
55
56 virtual void FlagNeededPerceptions(plAiPerceptionManager& ref_PerceptionManager) override;
57
58 virtual plAiBehaviorScore DetermineBehaviorScore(plGameObject& owner, const plAiPerceptionManager& perceptionManager) override;
59 virtual void ActivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
60 void ReactivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override {}
61
62private:
63 plVec3 m_vTargetPosition = plVec3::MakeZero();
64};
65
69
70class PL_AIPLUGIN_DLL plAiBehaviorShoot : public plAiBehavior
71{
72public:
75
76 virtual void FlagNeededPerceptions(plAiPerceptionManager& ref_PerceptionManager) override;
77
78 virtual plAiBehaviorScore DetermineBehaviorScore(plGameObject& owner, const plAiPerceptionManager& perceptionManager) override;
79 virtual void ActivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
80 void ReactivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override {}
81};
82
86
87class PL_AIPLUGIN_DLL plAiBehaviorQuip : public plAiBehavior
88{
89public:
92
93 virtual void FlagNeededPerceptions(plAiPerceptionManager& ref_PerceptionManager) override;
94
95 virtual plAiBehaviorScore DetermineBehaviorScore(plGameObject& owner, const plAiPerceptionManager& perceptionManager) override;
96 virtual void ActivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override;
97 void ReactivateBehavior(plGameObject& owner, const plAiPerception* pPerception, plAiActionQueue& inout_ActionQueue) override {}
98
99 virtual plTime GetCooldownDuration() override;
100};
Definition AiActionQueue.h:9
Definition GameAiBehaviors.h:51
Definition GameAiBehaviors.h:11
Definition AiBehavior.h:50
Definition GameAiBehaviors.h:88
Definition AiBehavior.h:24
Definition GameAiBehaviors.h:71
Definition GameAiBehaviors.h:31
Definition AiPerception.h:7
Definition AiPerceptionManager.h:12
This class represents an object inside the world.
Definition GameObject.h:32
static plVec3Template< float > MakeZero()
Definition Vec3.h:38
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12