(C++)  1.0.0
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, const ISimulatedGameUnit& simulatedGameUnit, std::vector<const ISimulatedGameAction*> actions, planning::Plan& plan) = 0;
40  };
41  }
42 }
43 
44 #endif // GRAIL_SIMULATED_ACTION_TRANSLATOR_H
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:39
A data structure used by PlannerReasoner to execute a sequence of behaviors.
Definition: Plan.hh:16
Translates actions defined in SimulatedGame onto Behaviors used in Grail.
Definition: ISimulatedActionTranslator.hh:25
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...
Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and pef...
Definition: ISimulatedGameUnit.hh:27