|
Grail (C++)
1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
3 #ifndef GRAIL_AI_BEHAVIOR_H
4 #define GRAIL_AI_BEHAVIOR_H
13 enum class BehaviorStatus
28 Behavior(std::unique_ptr<Behavior> recoveryBehavior =
nullptr);
64 virtual std::unique_ptr<Behavior> GetRecoveryBehavior();
66 virtual std::string GetName()
const;
69 std::unique_ptr<Behavior> recoveryBehavior{
nullptr};
72 void UpdateStatus(
const AIEntity& owner);
73 void SetStatus(BehaviorStatus newStatus);
75 BehaviorStatus status = BehaviorStatus::SUSPENDED;
78 #endif //GRAIL_AI_BEHAVIOR_H
virtual bool IsLegal(const AIEntity &owner) const
Definition: Behavior.cpp:36
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:50
virtual void Start(AIEntity &owner)
Definition: Behavior.cpp:19
virtual void Update(AIEntity &owner, float deltaTime)
Definition: Behavior.cpp:23
virtual bool IsFinished(const AIEntity &owner) const
Definition: Behavior.cpp:31
The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by ...
Definition: BehaviorSequence.hh:16
A high-level abstraction of actions in the game.
Definition: Behavior.hh:22
BehaviorStatus GetStatus() const
GetStatus.
Definition: Behavior.cpp:61
virtual void Finish(AIEntity &owner, const BehaviorStatus status)
Definition: Behavior.cpp:27
virtual bool IsInterruptible() const
Definition: Behavior.cpp:41