 |
Grail (C++)
1.2.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
3 #ifndef GRAIL_CONSIDERATION_H
4 #define GRAIL_CONSIDERATION_H
6 #include "Evaluator.hh"
7 #include "../GrailCore/AIEntity.hh"
8 #include "../GrailCore/Blackboard.hh"
9 #include "../GrailCore/EntityBlackboardPair.hh"
15 template <
typename ContextType>
33 virtual data::EvaluatorType GetEvaluatorType()
const override final {
return data::EvaluatorType::CONSIDERATION; }
35 virtual std::string GetDisplayName()
const {
return "unnamed_consideration"; }
43 virtual float Evaluate(
const ContextType& context)
const = 0;
45 virtual void DebugDump(
const std::map<const void*, std::size_t>&,
48 debugData.SetMetadata(GetDisplayName());
64 using DefaultConsideration = Consideration<const AIEntity*>;
65 using UtilityConsideration = Consideration<EntityBlackboardPair>;
68 #endif //GRAIL_CONSIDERATION_H
virtual float Evaluate(const ContextType &context) const =0
Evaluate - Abstract method, which should be overriden by the user to return proper value representing...
The EvaluationDebugData class - debug data describing singular evaluator.
Definition: EvaluationDebugData.h:23
virtual float Evaluate(const ContextType &context, data::UtilityEvaluatorSnapshot *const snapshot) const override final
Evaluate - Called from EvaluateContext which also evaluates context, but without automatically fillin...
Definition: Consideration.hh:58
virtual void DebugDump(const std::map< const void *, std::size_t > &, data::EvaluationDebugData &debugData) const override final
DebugDump - Called from EvaluateContext, which generates additional debug data for each evaluator....
Definition: Consideration.hh:45
The Evaluator class - base class being able to evaluate given context and output the result.
Definition: Evaluator.hh:22
The Consideration class - Abstract type of Evaluator representing a subset of game state.
Definition: Consideration.hh:20
The UtilityEvaluatorSnapshot class - debug snapshot of whole evaluator tree assigned to evaluated obj...
Definition: UtilityEvaluatorSnapshot.h:25