Vixen
dd8b0a81
csharp
public interface IPlaySystems

What adds systems to an in-editor play session.

Read the guide page for this →

Remarks

Contributed to IEditorRegistry, which is the door every other editor extension comes through — doc 36 § D2. A module registers one in its Activate; PlayModeController reads them when Play is pressed, so a plugin loaded three seconds into a session still reaches the next one.

⚠ This is the general mechanism, and it is deliberately not "a project declares its frame". What this closes is the half of that gap where the editor owns the service: a PhysicsScene, an audio engine, a navmesh no longer needs an embedding host to add it by hand. The project's half is [GameSystem] — a declaration the generator collects, resolved against what these contributions Provide``1 after every one of them has attached. The two never refer to each other; they meet because a service is keyed on its static type in both.

⚠ An Attach that throws does not stop the session. The contribution is named in PlayModeController.Refused and reported, because a module that cannot stand its systems up is a part of the frame that is missing — and the rule is that a missing part is said out loud rather than left to read as a gameplay bug.

Methods (1)

  • void Attach(PlaySession session)

    Adds this contribution's systems to a session that is starting.

Used by (19)

  • ConsumerVixen.Editor.SceneView.Tests
  • DeclaredConsumerVixen.Editor.SceneView.Tests
  • DeclaredProviderVixen.Editor.SceneView.Tests
  • EditorApplicationVixen.Editor.App
  • LyingProviderVixen.Editor.SceneView.Tests
  • NudgeVixen.Editor.SceneView.Tests
  • PlayAnimationVixen.Editor.App
  • PlayDeclaredSystemsTestsVixen.Editor.SceneView.Tests
  • PlayDiagnosticsVixen.Editor.App
  • PlayModeControllerVixen.Editor.SceneView
  • PlayPhysicsVixen.Editor.App
  • PlaySystemsTestsVixen.Editor.SceneView.Tests
  • PlayTerrainCollidersVixen.Editor.Terrain.Physics
  • ProviderVixen.Editor.SceneView.Tests
  • RefusesVixen.Editor.SceneView.Tests
  • SpawningProviderVixen.Editor.SceneView.Tests
  • SuppliesAQuotaVixen.Editor.SceneView.Tests
  • SuppliesAWarehouseVixen.Editor.SceneView.Tests
  • TerrainPhysicsModuleVixen.Editor.Terrain.Physics