1 #ifndef GRAIL_AI_BEHAVIOR_H
2 #define GRAIL_AI_BEHAVIOR_H
10 enum class BehaviorStatus
62 virtual std::string GetName()
const;
65 void UpdateStatus(
const AIEntity& owner);
66 void SetStatus(BehaviorStatus newStatus);
68 BehaviorStatus status = BehaviorStatus::SUSPENDED;
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:39
A high-level abstraction of actions in the game.
Definition: Behavior.hh:20
virtual bool IsInterruptible() const
Definition: Behavior.cpp:35
virtual void Update(AIEntity &owner, float deltaTime)=0
virtual void Start(AIEntity &owner)
Definition: Behavior.cpp:16
virtual bool IsFinished(const AIEntity &owner) const
Definition: Behavior.cpp:25
BehaviorStatus GetStatus() const
GetStatus.
Definition: Behavior.cpp:55
virtual void Finish(AIEntity &owner, const BehaviorStatus status)
Definition: Behavior.cpp:20
virtual bool IsLegal(const AIEntity &owner) const
Definition: Behavior.cpp:30
The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by ...
Definition: BehaviorSequence.hh:15