Grail (C#)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail.Evaluators.Curves.StaircaseFunction< ContextType > Class Template Reference

Function consisting of multiple discrete values. More...

Inheritance diagram for Grail.Evaluators.Curves.StaircaseFunction< ContextType >:
Collaboration diagram for Grail.Evaluators.Curves.StaircaseFunction< ContextType >:

Public Member Functions

 StaircaseFunction (Evaluator< ContextType > childEvaluator, List< StepData > initData)
 Constructor. More...
 
sealed override float Sample (float argument)
 Transforms argument into output value depending on the type of Curve. More...
 
- Public Member Functions inherited from Grail.Evaluators.Curves.Curve< ContextType >
 Curve (Evaluator< ContextType > childEvaluator)
 Constructor. More...
 
- Public Member Functions inherited from Grail.Evaluators.Evaluator< ContextType >
float EvaluateContext (ContextType context, in UtilityEvaluatorSnapshot snapshot)
 Evaluates provided context and if provided snapshot is not empty, fills it with debug data describing this node. More...
 

Public Attributes

List< StepDataData => data
 Step data for this function. More...
 
sealed override EvaluatorType EvaluatorType => EvaluatorType.CURVE_STAIRCASE
 

Additional Inherited Members

- Protected Member Functions inherited from Grail.Evaluators.Curves.Curve< ContextType >
sealed override float Evaluate (ContextType context, in UtilityEvaluatorSnapshot snapshot)
 Called from EvaluateContext which also evaluates context, but without automatically filling snapshot with debug data. Should be overriden for each derived Evaluator. More...
 
sealed override void DebugDump (IReadOnlyDictionary< object, int > nodeMapping, ref EvaluationDebugData debugData)
 Called from EvaluateContext, which generates additional debug data for each evaluator. Should be overriden in each derived evaluator to better reflect debug tree topology. More...
 
- Properties inherited from Grail.Evaluators.Evaluator< ContextType >
abstract EvaluatorType EvaluatorType [get]
 

Detailed Description

Function consisting of multiple discrete values.

Template Parameters
ContextTypeType of evaluated object. By default - ValueTuple(AIEntity, Blackboard).

Constructor & Destructor Documentation

◆ StaircaseFunction()

Grail.Evaluators.Curves.StaircaseFunction< ContextType >.StaircaseFunction ( Evaluator< ContextType >  childEvaluator,
List< StepData initData 
)
inline

Constructor.

Parameters
childEvaluatorEvaluator which output will be transformed by this curve.
initDataCollection of data describing discrete values.
Exceptions
ArgumentExceptionThrown when init data is missing or any part of it is not in sequence.

Member Function Documentation

◆ Sample()

sealed override float Grail.Evaluators.Curves.StaircaseFunction< ContextType >.Sample ( float  argument)
inlinevirtual

Transforms argument into output value depending on the type of Curve.

Parameters
argumentValue of a curve argument belonging to its domain.
Returns
Transformed argument.

Implements Grail.Evaluators.Curves.Curve< ContextType >.

Member Data Documentation

◆ Data

List<StepData> Grail.Evaluators.Curves.StaircaseFunction< ContextType >.Data => data

Step data for this function.


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