Grail (C++)  1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
UtilityReasonerSnapshotGenerator.h
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_UTILITY_REASONER_SNAPSHOT_GENERATOR_H
4 #define GRAIL_UTILITY_REASONER_SNAPSHOT_GENERATOR_H
5 
6 #include "../../GrailCore/DebugUtilities/SnapshotGenerator.h"
7 #include "../../GrailData/DebugInfo/UtilityReasonerSnapshot.h"
8 #include "../Reasoners/UtilityReasoner.hh"
9 
10 namespace grail
11 {
12 namespace utility
13 {
17  class UtilityReasonerSnapshotGenerator : public SnapshotGenerator<data::UtilityReasonerSnapshot>
18  {
19  public:
25  UtilityReasonerSnapshotGenerator(UtilityReasoner* observedReasoner, size_t entityId);
26 
32  virtual bool TryProduceSnapshot(data::UtilityReasonerSnapshot& outSnapshot) override;
38  virtual void
43  virtual void Release() override;
44 
45  private:
46  UtilityReasoner* observedReasoner = nullptr;
47  size_t entityId = 0;
48  };
49 }
50 }
51 
52 #endif
grail::utility::UtilityReasonerSnapshotGenerator::Release
virtual void Release() override
Release - Disables snapshots production for the reasoner provided in constructor.
Definition: UtilityReasonerSnapshotGenerator.cpp:30
grail::utility::UtilityReasonerSnapshotGenerator
The UtilityReasonerSnapshotGenerator class - Class responsible for generating snapshots of utility re...
Definition: UtilityReasonerSnapshotGenerator.h:17
grail::utility::UtilityReasonerSnapshotGenerator::PassSnapshotToReceiver
virtual void PassSnapshotToReceiver(IDebugSnapshotReceiver &receiver, data::UtilityReasonerSnapshot &snapshot) override
PassSnapshotToReceiver - Sends snapshot to snapshot receiver.
Definition: UtilityReasonerSnapshotGenerator.cpp:24
grail::data::UtilityReasonerSnapshot
Definition: UtilityReasonerSnapshot.h:15
grail::utility::UtilityReasonerSnapshotGenerator::UtilityReasonerSnapshotGenerator
UtilityReasonerSnapshotGenerator(UtilityReasoner *observedReasoner, size_t entityId)
UtilityReasonerSnapshotGenerator - Constructor.
Definition: UtilityReasonerSnapshotGenerator.cpp:10
grail::SnapshotGenerator
Definition: SnapshotGenerator.h:16
grail::utility::UtilityReasoner
The UtilityReasoner class - Class responsible for assigning behaviors using Utility System algorithm....
Definition: UtilityReasoner.hh:24
grail::IDebugSnapshotReceiver
Definition: IDebugSnapshotReceiver.h:16
grail::utility::UtilityReasonerSnapshotGenerator::TryProduceSnapshot
virtual bool TryProduceSnapshot(data::UtilityReasonerSnapshot &outSnapshot) override
TryProduceSnapshot - Attempts producing reasoner snapshot.
Definition: UtilityReasonerSnapshotGenerator.cpp:17