Polarith AI
IEvaluationPreparer Interface Reference


Classes implementing this interface are responsible for executing processes in order to prepare the (parallel) update of AI agents.

This is necessary because of Unity's poor multithreading support and allows the overall system to distinguish between code which should be multithreaded and code which must not be multithreaded due to Unity's restrictions.

Code written within the PrepareEvaluation method is allowed to access all parts of the Unity API, as against code written in thread-safe AI parts, e.g. Context.Evaluate, is only allowed to access Unity's value types to support multithreading.

The flag Enabled might be used to indicate whether the method PrepareEvaluation should be called within AIMContext.PrepareEvaluation.

Inheritance diagram for IEvaluationPreparer:
AIMBehaviour AIMFilter< T > AIMPerceptBehaviour< T > AIMPlanarConvolution AIMPlanarInterpolation AIMRetention AIMStabilization


bool Enabled [get, set]
 Determines whether the method PrepareEvaluation should be called. More...

Public Methods

void PrepareEvaluation ()
 Within this method, everything requiring access to Unity's reference types needs to be done in order to prepare the multithreaded call of Context.Evaluate. More...