Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
ISimulatedActionTranslator.hh
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_SIMULATED_ACTION_TRANSLATOR_H
4 #define GRAIL_SIMULATED_ACTION_TRANSLATOR_H
5 
6 #include <memory>
7 #include <vector>
8 
9 namespace grail
10 {
11  class AIEntity;
12  class Plan;
13 
14 namespace simgames
15 {
16  class ISimulatedGameUnit;
17  class ISimulatedGameAction;
18 
23  {
24  public:
25  ISimulatedActionTranslator() = default;
27  virtual ~ISimulatedActionTranslator() = default;
28  ISimulatedActionTranslator& operator =(const ISimulatedActionTranslator& other) = default;
29 
37  virtual void AddBehaviors(AIEntity& entity,
38  const ISimulatedGameUnit& simulatedGameUnit,
39  std::vector<const ISimulatedGameAction*> actions,
40  Plan& plan) = 0;
41  };
42 }
43 }
44 
45 #endif // GRAIL_SIMULATED_ACTION_TRANSLATOR_H
grail::AIEntity
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:50
grail::simgames::ISimulatedActionTranslator::AddBehaviors
virtual void AddBehaviors(AIEntity &entity, const ISimulatedGameUnit &simulatedGameUnit, std::vector< const ISimulatedGameAction * > actions, Plan &plan)=0
Translate actions from SimulatedGames (@actions) into any number of corresponing behaviors and add pu...
grail::Plan
A data structure used by PlannerReasoner to execute a sequence of behaviors.
Definition: Plan.hh:14
grail::simgames::ISimulatedActionTranslator
Translates actions defined in SimulatedGame onto Behaviors used in Grail.
Definition: ISimulatedActionTranslator.hh:22
grail::simgames::ISimulatedGameUnit
Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and pef...
Definition: ISimulatedGameUnit.hh:28