 |
Grail (C++)
1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
3 #ifndef GRAIL_FSM_BEHAVIOR_H
4 #define GRAIL_FSM_BEHAVIOR_H
6 #include "../../GrailCore/Reasoner.hh"
7 #include "../FiniteStateMachine.hh"
8 #include "../../GrailCore/EntityBlackboardPair.hh"
17 FSMBehavior(
const std::vector<FiniteStateMachine::Transition>& transitions,
18 std::shared_ptr<State> initialState,
19 const std::string& stateMachineName);
24 void Finish(
AIEntity& owner,
const BehaviorStatus status)
override;
36 #endif //GRAIL_FSM_BEHAVIOR_H
bool IsLegal(const AIEntity &owner) const override
Definition: FSMBehavior.cpp:41
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:50
The FiniteStateMachine class - Class representing basic Finite State Machine.
Definition: FiniteStateMachine.hh:23
Definition: FSMBehavior.hh:14
The Blackboard class - grail's universal data container.
Definition: Blackboard.hh:15
void Finish(AIEntity &owner, const BehaviorStatus status) override
Definition: FSMBehavior.cpp:31
A high-level abstraction of actions in the game.
Definition: Behavior.hh:22
void Update(AIEntity &owner, float deltaTime) override
Definition: FSMBehavior.cpp:26
bool IsFinished(const AIEntity &owner) const override
Definition: FSMBehavior.cpp:36
void Start(AIEntity &owner) override
Definition: FSMBehavior.cpp:21