Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
ISimulatedGameStateTranslator.hh
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_SIMULATED_GAME_STATE_TRANSLATOR_H
4 #define GRAIL_SIMULATED_GAME_STATE_TRANSLATOR_H
5 
6 #include <functional>
7 #include <memory>
8 
9 namespace grail
10 {
11 namespace simgames
12 {
13  class SimulatedGame;
14 
16  {
17  public:
18  virtual ~ISimulatedGameStateTranslator() = default;
19 
24  virtual std::pair<std::unique_ptr<SimulatedGame>, std::shared_ptr<class ISimulatedGameUnit>> CreateGame() =
25  0;
26 
31  virtual void StartRefreshingGameState(const class AIEntity& entity,
32  std::function<void()> refreshingFinishedCallback) = 0;
33  };
34 }
35 }
36 
37 #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::ISimulatedGameStateTranslator
Definition: ISimulatedGameStateTranslator.hh:15
grail::simgames::ISimulatedGameStateTranslator::CreateGame
virtual std::pair< std::unique_ptr< SimulatedGame >, std::shared_ptr< class ISimulatedGameUnit > > CreateGame()=0
Return the SimulatedGame object an the unit paired with it. The paired unit is a virtual representati...
grail::simgames::ISimulatedGameStateTranslator::StartRefreshingGameState
virtual void StartRefreshingGameState(const class AIEntity &entity, std::function< void()> refreshingFinishedCallback)=0
This method is called when SimulatedGameReasoner requests for a new start state. When you are done wi...