public static class GameSystemRegistryEvery system the loaded assemblies declared with GameSystemAttribute.
Remarks
Filled at compile time and read at run time, exactly as SceneBehaviorRegistry is. GameSystemGenerator emits one [ModuleInitializer] per assembly that declares anything, so the set is whatever a generator saw in the source — it survives trimming, and it is the same set in the editor and in a shipped game.
⚠ Which is also why the editor can read a project's frame without running the project. ProjectAssemblies.Load runs the module constructor of the assembly it loads, so the declarations are here the moment the project's code is loaded — before, and independently of, anything calling Game.OnInitialise.
Fields and properties (1)
public static IReadOnlyList<GameSystemDeclaration> DeclaredEvery declared system, ordered by type name so a report is stable.
Methods (2)
public static void Declare(Type systemType, Type[] requires, Func<object[], ISystem> factory)Declares a system. Called by generated code.
public static int Evict(Assembly assembly)Forgets every system an assembly declared.
Used by (5)
- GameSystemRegistrationAiVillage
- GameSystemTestsVixen.Engine.Tests
- GameSystemsVixen.Engine
- ProjectAssembliesVixen.Editor.App
- SystemsRunnerVixen.Cli