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