public sealed class CharacterMovementSystemMoves every character by what its MoveIntent asked for.
As a system
- Phase
- FixedUpdate
- Reads
- MoveIntent CharacterMovement
- Runs after
- PhysicsStepSystem
Remarks
The fourth fixed-step pass, and it runs after PhysicsStepSystem because a character is swept against the world as it is now — sweeping first would test it against the previous step's platform positions, which is Update's own stated requirement.
It is one half of a player and it has never heard of one. What it reads is a component; whether a person, a planner or a replay wrote it is not knowable from here and is not supposed to be ([29](../../../docs/plan/29-players-and-possession.md)). That is also what keeps this assembly free of Vixen.Net: the predicted step replays this system over a restored world and needs nothing else from it.
It declares Write<LocalTransform>, which the runner reads as a conflict with PhysicsWritebackSystem and serialises the two. That is correct rather than unfortunate: they write disjoint entities, but nothing in a declared-access set can say so, and the alternative is a declaration that lies.
Fields and properties (1)
public SystemAccess Access
Methods (2)
public CharacterMovementSystem(PhysicsScene scene)Moves every character by what its MoveIntent asked for.
public override JobHandle Update(in SystemContext context, JobHandle dependency)Runs the system.
Used by (1)
- PhysicsSystemsVixen.Physics