Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
grail::utility::RouletteUtilityReasoner Class Reference
Inheritance diagram for grail::utility::RouletteUtilityReasoner:
Collaboration diagram for grail::utility::RouletteUtilityReasoner:

Public Member Functions

 RouletteUtilityReasoner (std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, std::shared_ptr< RandomNumberGenerator > randomNumberGenerator, roulette_selector::RouletteOptions rouletteOptions, float persistence=0.1f)
 UtilityReasoner - Constructor. More...
 
 RouletteUtilityReasoner (std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, std::shared_ptr< RandomNumberGenerator > randomNumberGenerator, float persistence=0.1f)
 UtilityReasoner - Constructor. More...
 
 RouletteUtilityReasoner (std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, roulette_selector::RouletteOptions rouletteOptions, float persistence=0.1f)
 UtilityReasoner - Constructor. More...
 
 RouletteUtilityReasoner (std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, float persistence=0.1f)
 UtilityReasoner - Constructor. More...
 
 RouletteUtilityReasoner (const RouletteUtilityReasoner &other)=delete
 
 RouletteUtilityReasoner (RouletteUtilityReasoner &&other)=delete
 
void SetRouletteOptions (roulette_selector::RouletteOptions rouletteOptions)
 SetRouletteOptions - Sets new roulette options. More...
 
- Public Member Functions inherited from grail::utility::UtilityReasoner
 UtilityReasoner (std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >> blueprintOptions, float persistence=0.1f)
 UtilityReasoner - Constructor. More...
 
 UtilityReasoner (const UtilityReasoner &other)=delete
 
 UtilityReasoner (UtilityReasoner &&other)=delete
 
UtilityReasoneroperator= (const UtilityReasoner &other)=delete
 
UtilityReasoneroperator= (UtilityReasoner &&other)=delete
 
virtual void StageBehavior (AIEntity &entity) override
 SelectBehavior - Selects behavior, if able, and assigns it to entity. More...
 
virtual std::unique_ptr< ISnapshotGeneratorCreateSnapshotGenerator (size_t entityId) override
 CreateSnapshotGenerator - Creates object responsible for producing snapshots for this reasoner assigned to particular entity. More...
 
data::UtilityReasonerSnapshot GetUtilityReasonerSnapshot () const
 GetUtilityReasonerSnapshot - Returns copy of current snapshot and clear the original data. More...
 
void SetSnapshotProduction (bool isEnabled)
 SetSnapshotProduction - Tells reasoner whether it should produce debug snapshots of its state. More...
 
- Public Member Functions inherited from grail::Reasoner
 Reasoner (const Reasoner &)=default
 
 Reasoner (Reasoner &&)=default
 
Reasoneroperator= (const Reasoner &)=default
 
Reasoneroperator= (Reasoner &&)=default
 

Protected Member Functions

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. More...
 

Constructor & Destructor Documentation

◆ RouletteUtilityReasoner() [1/4]

grail::utility::RouletteUtilityReasoner::RouletteUtilityReasoner ( std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >>  blueprintOptions,
std::shared_ptr< RandomNumberGenerator randomNumberGenerator,
roulette_selector::RouletteOptions  rouletteOptions,
float  persistence = 0.1f 
)

UtilityReasoner - Constructor.

Parameters
blueprintOptions- Blueprints mapped with evaluators.
randomNumberGenerator- random number generator.
rouletteOptions- Options for roulette selection.
persistence- Bonus score that currently executed behavior(or behavior from the top of the stack) gains during behavior selection. Persistence of 0 give no bonus at all, negative persistence causes unstable entity behaviors.

◆ RouletteUtilityReasoner() [2/4]

grail::utility::RouletteUtilityReasoner::RouletteUtilityReasoner ( std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >>  blueprintOptions,
std::shared_ptr< RandomNumberGenerator randomNumberGenerator,
float  persistence = 0.1f 
)

UtilityReasoner - Constructor.

Parameters
blueprintOptions- Blueprints mapped with evaluators.
randomNumberGenerator- random number generator.
persistence- Bonus score that currently executed behavior(or behavior from the top of the stack) gains during behavior selection. Persistence of 0 give no bonus at all, negative persistence causes unstable entity behaviors.

◆ RouletteUtilityReasoner() [3/4]

grail::utility::RouletteUtilityReasoner::RouletteUtilityReasoner ( std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >>  blueprintOptions,
roulette_selector::RouletteOptions  rouletteOptions,
float  persistence = 0.1f 
)

UtilityReasoner - Constructor.

Parameters
blueprintOptions- Blueprints mapped with evaluators.
rouletteOptions- Options for roulette selection.
persistence- Bonus score that currently executed behavior(or behavior from the top of the stack) gains during behavior selection. Persistence of 0 give no bonus at all, negative persistence causes unstable entity behaviors.

◆ RouletteUtilityReasoner() [4/4]

grail::utility::RouletteUtilityReasoner::RouletteUtilityReasoner ( std::vector< BlueprintOption< Behavior, EntityBlackboardPair, grail::AIEntity >>  blueprintOptions,
float  persistence = 0.1f 
)

UtilityReasoner - Constructor.

Parameters
blueprintOptions- Blueprints mapped with evaluators.
persistence- Bonus score that currently executed behavior(or behavior from the top of the stack) gains during behavior selection. Persistence of 0 give no bonus at all, negative persistence causes unstable entity behaviors.

Member Function Documentation

◆ GetBestOption()

void grail::utility::RouletteUtilityReasoner::GetBestOption ( const std::vector< SelectionOption< EntityBlackboardPair >> &  options,
SelectionResult result,
std::function< bool(const std::size_t &)>  validator 
)
overrideprotectedvirtual

GetBestOption - Selects most suitable option. Provides different context for each evaluated objects.

Parameters
options- Contexts paired with evaluators
result- Reference to the selection result object.
validator- Function validating whether given object can be chosen
Template Parameters
ContextType- Type of evaluated object. By default - ValueTuple(AIEntity, Blackboard).

Implements grail::utility::UtilityReasoner.

◆ SetRouletteOptions()

void grail::utility::RouletteUtilityReasoner::SetRouletteOptions ( roulette_selector::RouletteOptions  rouletteOptions)

SetRouletteOptions - Sets new roulette options.

Parameters
rouletteOptions- New options.

The documentation for this class was generated from the following files: