Struct MovementOverrideRunner Extends IJobChunk
Invokes the user's movement override callbacks.
Run through JobChunkInterface.RunByRefWithoutJobs, which iterates chunks on the calling thread without entering the job system. Movement override callbacks are documented to run on the main thread, and routinely touch Transforms, GameObjects and UnityEngine.Random, which Unity refuses inside a job context. IJobEntity over unmanaged components would schedule a real job, so it cannot be used here.
That entry point also installs Unity's guard against structural changes during iteration, so a callback which adds or removes a component gets an exception naming the problem. The guard is compiled out of release players, along with the rest of ENABLE_UNITY_COLLECTIONS_CHECKS.
The callers complete all dependencies first, so reading chunk memory here is safe.
Public Methods
Invokes every registered callback for phase on the agents matched by query.
Invokes every registered callback for phase on the agents matched by query.
Public Static Methods
Tells the repair job that the movement state may no longer match the path tracer.
Public Variables
Public Enums
Which point in the movement pipeline to invoke callbacks for.