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