  | 
  
    Grail (C++)
    1.3.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