Vixen
02b45cc4
csharp
public sealed class SystemAccess

The component types a system reads and the ones it writes — everything the runner needs to decide whether two systems may run at the same time.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Two systems conflict when one writes something the other touches. Read against read is not a conflict, which is what lets a dozen systems that all read WorldTransform run concurrently; write against anything is.

Fields and properties (4)

  • public static SystemAccess None

    Access to nothing, which conflicts with nothing.

  • public IReadOnlyList<ComponentTypeId> Reads

    The component types read, including the ones written.

  • public IReadOnlyList<ComponentTypeId> Writes

    The component types written.

  • public bool IsEmpty

    Whether this declares nothing, and so conflicts with nothing.

Methods (5)

  • public SystemAccess(IEnumerable<ComponentTypeId> reads, IEnumerable<ComponentTypeId> writes)

    Builds an access set.

  • public bool ConflictsWith(SystemAccess other)

    Whether two systems may not run at the same time.

  • public static SystemAccess FromAttributes(Type systemType)

    Reads the access a system type declares with attributes.

  • public static SystemAccess.Builder Declare()

    Declares access by naming component types, which registers them as it goes.

  • public override string ToString()

    Renders the two sets, which is what a system-graph dump shows.

Used by (46, showing 40)

  • OrbitSystemEcsStressTest
  • AnimationSystemVixen.Animation
  • AudioSystemVixen.Audio
  • BuilderVixen.Ecs
  • CameraDirectorSystemVixen.Engine
  • CameraExtractionSystemVixen.Rendering
  • CharacterMovementSystemVixen.Physics
  • ConstraintGizmoSystemVixen.Animation
  • DebugDrawSystemVixen.Engine
  • DiagnosticOverlaySystemVixen.Engine
  • IDeclaredAccessVixen.Ecs
  • LightExtractionSystemVixen.Rendering
  • LocalPlayerSystemVixen.Net.Engine
  • MeshExtractionSystemVixen.Rendering
  • NavigationSystemVixen.Navigation
  • NetworkAnimatorApplySystemVixen.Net.Animation
  • NetworkAnimatorCaptureSystemVixen.Net.Animation
  • NetworkAudioApplySystemVixen.Net.Audio
  • NetworkAudioCaptureSystemVixen.Net.Audio
  • NetworkBonesApplySystemVixen.Net.Animation
  • NetworkBonesCaptureSystemVixen.Net.Animation
  • NetworkRigidBodyCaptureSystemVixen.Net.Physics
  • NetworkRigidBodyCorrectionSystemVixen.Net.Physics
  • NetworkSpawnSystemVixen.Net.Engine
  • NetworkTransformApplySystemVixen.Net.Engine
  • NetworkTransformCaptureSystemVixen.Net.Engine
  • PhysicsDebugDrawSystemVixen.Physics
  • PhysicsInterpolationSystemVixen.Physics
  • PhysicsSyncSystemVixen.Physics
  • PhysicsWritebackSystemVixen.Physics
  • PlayerInputQuantizeSystemVixen.Net.Engine
  • PlayerInputSystemVixen.Engine
  • PossessionSystemVixen.Engine
  • PostProcessVolumeSystemVixen.Rendering
  • PredictionSmoothingSystemVixen.Net.Engine
  • ProgrammaticSystemVixen.Ecs.Tests
  • RecorderVixen.Engine.Tests
  • SkinningSystemVixen.Animation
  • SystemGraphVixen.Ecs
  • SystemNodeVixen.Ecs