Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
MaxUtilityReasoner.hh
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_MAX_UTILITY_REASONER_H
4 #define GRAIL_MAX_UTILITY_REASONER_H
5 
6 #include "UtilityReasoner.hh"
7 
8 namespace grail
9 {
10 namespace utility
11 {
13  {
14  public:
21  float persistence = 0.1f);
22  MaxUtilityReasoner(const MaxUtilityReasoner& other) = delete;
23  MaxUtilityReasoner(MaxUtilityReasoner&& other) = delete;
24 
25  ~MaxUtilityReasoner() override = default;
26 
27  protected:
34  void GetBestOption(const std::vector<SelectionOption<EntityBlackboardPair>>& options,
35  SelectionResult& result,
36  std::function<bool(const std::size_t&)> validator) override;
37  };
38 }
39 }
40 
41 #endif //GRAIL_MAX_UTILITY_REASONER_H
grail::utility::MaxUtilityReasoner
Definition: MaxUtilityReasoner.hh:12
grail::utility::BlueprintOption
Definition: BlueprintOption.hh:13
grail::utility::MaxUtilityReasoner::GetBestOption
void GetBestOption(const std::vector< SelectionOption< EntityBlackboardPair >> &options, SelectionResult &result, std::function< bool(const std::size_t &)> validator) override
GetBestOption - Selects most suitable option. Provides different context for each evaluated objects.
Definition: MaxUtilityReasoner.cpp:17
grail::utility::SelectionOption< EntityBlackboardPair >
grail::utility::MaxUtilityReasoner::MaxUtilityReasoner
MaxUtilityReasoner(std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, float persistence=0.1f)
UtilityReasoner - Constructor.
Definition: MaxUtilityReasoner.cpp:10
grail::utility::SelectionResult
The SelectionResult struct - Structure containing results of operations done by Selector.
Definition: SelectionResult.hh:19
grail::utility::UtilityReasoner
The UtilityReasoner class - Class responsible for assigning behaviors using Utility System algorithm....
Definition: UtilityReasoner.hh:24