public interface IPlaySystemsWhat adds systems to an in-editor play session.
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