(C++)  1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Reasoner.hh
1 #ifndef GRAIL_REASONER_H
2 #define GRAIL_REASONER_H
3 
4 #include "../Behavior.hh"
5 #include "../Debugging/ISnapshotGenerator.h"
6 
7 #include <iostream>
8 #include <fstream>
9 #include <vector>
10 #include "../Behavior.hh"
11 #include <memory>
12 
13 namespace grail
14 {
15  class AIEntity;
16 
20  class Reasoner
21  {
22  public:
23  Reasoner() = default;
24  Reasoner(const Reasoner&) = default;
25  Reasoner(Reasoner&&) = default;
26 
27  virtual ~Reasoner() = default;
28 
29  Reasoner& operator = (const Reasoner&) = default;
30  Reasoner& operator = (Reasoner&&) = default;
31 
36  virtual void SelectBehavior(AIEntity& entity) = 0;
37  virtual std::unique_ptr<ISnapshotGenerator> CreateSnapshotGenerator(size_t /*entityId*/);
38  };
39 }
40 #endif //GRAIL_REASONER_H
The Reasoner class - Entity&#39;s "brain", assigns them behaviors chosen by user-defined algorithms...
Definition: Reasoner.hh:20
Definition: AIEntity.cpp:10
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:38
virtual void SelectBehavior(AIEntity &entity)=0
selectBehavior - Runs reasoner&#39;s selection algorithm and assigns chosen behavior to provided entity...