(C++)  1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
UtilityReasonerSnapshotGenerator.h
1 #ifndef GRAIL_UTILITY_REASONER_SNAPSHOT_GENERATOR_H
2 #define GRAIL_UTILITY_REASONER_SNAPSHOT_GENERATOR_H
3 
4 #include "../Reasoners/UtilityReasoner.hh"
5 #include "../../GrailCore/DebugUtilities/SnapshotGenerator.h"
6 #include "../../GrailData/DebugInfo/UtilityReasonerSnapshot.h"
7 
8 namespace grail
9 {
13  class UtilityReasonerSnapshotGenerator : public SnapshotGenerator<UtilityReasonerSnapshot>
14  {
15  public:
21  UtilityReasonerSnapshotGenerator(UtilityReasoner* observedReasoner, size_t entityId);
22 
28  bool TryProduceSnapshot(UtilityReasonerSnapshot& outSnapshot) override;
34  void PassSnapshotToReceiver(IDebugSnapshotReceiver& receiver, UtilityReasonerSnapshot& snapshot) override;
38  virtual void Release() override;
39 
40  private:
41  UtilityReasoner* observedReasoner = nullptr;
42  size_t entityId = 0;
43  };
44 }
45 #endif
Definition: IDebugSnapshotReceiver.h:7
Definition: SnapshotGenerator.h:15
The UtilityReasoner class - Class responsible for assigning behaviors using Utility System algorithm....
Definition: UtilityReasoner.hh:37
The UtilityReasonerSnapshotGenerator class - Class responsible for generating snapshots of utility re...
Definition: UtilityReasonerSnapshotGenerator.h:14
virtual void Release() override
Release - Disables snapshots production for the reasoner provided in constructor.
Definition: UtilityReasonerSnapshotGenerator.cpp:24
void PassSnapshotToReceiver(IDebugSnapshotReceiver &receiver, UtilityReasonerSnapshot &snapshot) override
PassSnapshotToReceiver - Sends snapshot to snapshot receiver.
Definition: UtilityReasonerSnapshotGenerator.cpp:19
UtilityReasonerSnapshotGenerator(UtilityReasoner *observedReasoner, size_t entityId)
UtilityReasonerSnapshotGenerator - Constructor.
Definition: UtilityReasonerSnapshotGenerator.cpp:6
bool TryProduceSnapshot(UtilityReasonerSnapshot &outSnapshot) override
TryProduceSnapshot - Attempts producing reasoner snapshot.
Definition: UtilityReasonerSnapshotGenerator.cpp:12
Definition: UtilityReasonerSnapshot.h:11