(C++)  1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
PlannerReasonerSnapshotGenerator.h
1 #ifndef GRAIL_PLANNER_REASONER_SNAPSHOT_GENERATOR_H
2 #define GRAIL_PLANNER_REASONER_SNAPSHOT_GENERATOR_H
3 
4 #include "../Reasoners/PlannerReasoner.hh"
5 #include "../../GrailData/DebugInfo/PlannerSnapshots.h"
6 #include "../../GrailCore/DebugUtilities/SnapshotGenerator.h"
7 
8 namespace grail
9 {
10  class PlannerReasonerSnapshotGenerator : public SnapshotGenerator<PlannerReasonerSnapshot>
11  {
12  public:
13  PlannerReasonerSnapshotGenerator(PlannerReasoner* observedReasoner, size_t entityId);
14  ~PlannerReasonerSnapshotGenerator() override = default;
15 
16  bool TryProduceSnapshot(PlannerReasonerSnapshot& outSnapshot) override;
17  void PassSnapshotToReceiver(IDebugSnapshotReceiver& receiver, PlannerReasonerSnapshot& snapshot) override;
18  virtual void Release() override;
19 
20  private:
21  PlannerReasoner* observedReasoner = nullptr;
22  size_t entityId = 0;
23  };
24 }
25 #endif
Definition: IDebugSnapshotReceiver.h:7
A reasoner which uses planners to find optimal sequences of behaviors based on goals.
Definition: PlannerReasoner.hh:20
Definition: PlannerReasonerSnapshotGenerator.h:11
Definition: SnapshotGenerator.h:15
Definition: PlannerSnapshots.h:70