Photon Quantum 3.0.0

Static Public Member Functions | List of all members
Quantum.DeterministicSystemSetup Class Reference

Responsible for instantiating Quantum systems on simulation start. User systems can be added by adding a SystemsConfig to the RuntimeConfig. Or adding them in the user callback AddSystemsUser. More...

Static Public Member Functions

static ICollection< SystemBaseCreateSystems (RuntimeConfig gameConfig, SimulationConfig simulationConfig, SystemsConfig systemsConfig)
 The methods instantiates requested Quantum systems when starting the simulation. More...
 

Detailed Description

Responsible for instantiating Quantum systems on simulation start. User systems can be added by adding a SystemsConfig to the RuntimeConfig. Or adding them in the user callback AddSystemsUser.

Member Function Documentation

◆ CreateSystems()

static ICollection<SystemBase> Quantum.DeterministicSystemSetup.CreateSystems ( RuntimeConfig  gameConfig,
SimulationConfig  simulationConfig,
SystemsConfig  systemsConfig 
)
inlinestatic

The methods instantiates requested Quantum systems when starting the simulation.

It first tries to call the legacy system setup method (SystemSetup class), if the method is found it will return those systems on not use the provided systems config.

If systemsConfig is null only the default Quantum system are created. Otherwise the types inside systemsConfig are created.

Debug build will add the Core.DebugCommand system. Disable this by defining QUANTUM_DEBUG_COMMAND_DISABLED.

Finally the AddSystemsUser(ICollection<SystemBase>, RuntimeConfig, SimulationConfig, SystemsConfig) partial method is called to allow changes to the final system list.

Parameters
gameConfigRuntime config.
simulationConfigSimulation config.
systemsConfigList of systems to create.
Returns
Collection of Quantum system objects.