Skip to content
Work in progress. These docs describe Spawnite at launch, and some parts are still being built.

SystemHandle

One system of a plugin, as before, after, replaces, requires and omit name it: siege.systems.spawn, behaviours.systems.chase for an engine plugin’s, core.systems.physics for the core’s. Typed by its phase, so an anchor across phases fails to typecheck, as Unity’s [UpdateAfter(typeof(X))] and Bevy’s .after(x) name a system by its type or its function rather than by a string; and by whether it is predicted and where it runs, which a replacement must match.

A handle names a system by its plugin’s name and its key, not by the plugin object that made it: the composer finds the system of that name among the plugins the game lists. An engine factory’s systems never depend on its options, so abilities.systems.cast names the system of whichever call the game lists. Holding a handle never adds its plugin to a world: the game lists the plugin, or the composer throws as the world is made.

Type Parameter Default type
Of extends PhaseName PhaseName
Predicted extends boolean boolean
RunsOn extends RunContext RunContext
Property Modifier Type Description
[systemHandleBrand] readonly true -
name readonly string plugin.system, as the profile, the dump and the devtools name it.
phase readonly Of -
plugin readonly string -
predicted readonly Predicted Its entry’s predicted.
runsOn readonly RunsOn Where it runs in a game with a room, as its entry says.