ISystemExecutor(Which can be read about on other pages).
SystemExecutorhandle the heavy lifting and trigger the relevant method in the system when its time. This can easily be seen when you look at all the available system interfaces which all process individual entities not groups of them.
This only documents the SystemsRx available systems but EcsRx builds on top of this and provides many other system types and an ECS paradigm.
IManualSystemwhich acts as a simple setup/teardown style system. You can also mix them up so you could have a single system implement
IReactToEventSystemwhich would trigger all the required methods when system sets up/tears down, when an update happens and when an event comes in, but ultimately you can mix and match the interfaces however you want.
SystemExecutordoing most of the work for you and managing the subscriptions it leaves it up to you to manage everything how you want once the system has been started.
StartSystemmethod will be triggered when the system has been added to the executor, and the
StopSystemwill be triggered when the system is removed.
ISystemExecutor) systems will load in the order you add them, however you can add a
[Priority]attribute to indicate an explicit order for running.