public interface ISystemOne unit of per-frame work over a world.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Update returns the handle for whatever it scheduled rather than waiting for it. That is the whole point: the runner has already worked out which systems conflict, so a system that returns promptly with a handle lets every non-conflicting system after it start immediately, and the phase costs its critical path rather than its sum. A system that does its work inline returns dependency — correct, and serialising.
What a system reads and writes is declared with ReadsAttribute and WritesAttribute, or by implementing IDeclaredAccess when the set is not known until construction. Getting it wrong in the direction of declaring too little is a data race the runner cannot see; too much only costs parallelism.
Methods (2)
void Initialize(in SystemContext context)Called once, before the first update.
JobHandle Update(in SystemContext context, JobHandle dependency)Runs the system.
Used by (5)
- EngineLoopVixen.Engine
- SystemBaseVixen.Ecs
- SystemGraphVixen.Ecs
- SystemNodeVixen.Ecs
- SystemRunnerVixen.Ecs