Quantum 3 3.1.0

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

Extension methods to enhance creating and initializing SessionRunner.Arguments to simplify Quantum start procedures. Using any form of Init(ref SessionRunner.Arguments, RuntimeConfig) is optional and can be replaced by setting all arguments manually. More...

Static Public Member Functions

static ref SessionRunner.Arguments Init (this ref SessionRunner.Arguments arguments, RuntimeConfig runtimeConfig)
 Init the session runner arguments to bind Unity related and global defaults. It's replacing QuantumRunnerUnityFactory.CreateGameParameters. Sets defaults for AssetSerializer CallbackDispatcher, EventDispatcher, ResourceManager, RunnerFactory, TaskRunner, SessionConfig, RuntimeConfig and PlayerCount. More...
 
static ref SessionRunner.Arguments InitForInstantReplay (this ref SessionRunner.Arguments arguments, QuantumGame game, Frame snapshot, IDeterministicReplayProvider replayProvider)
 Initializes session runner arguments to start a local replay simulation from running simulation. More...
 
static ref SessionRunner.Arguments InitForLocal (this ref SessionRunner.Arguments arguments, RuntimeConfig runtimeConfig)
 Initializes session runner arguments to start a local simulation. Init(ref SessionRunner.Arguments, RuntimeConfig) More...
 
static ref SessionRunner.Arguments InitForMultiplayer (this ref SessionRunner.Arguments arguments, RuntimeConfig runtimeConfig, RealtimeClient client, string clientId, ShutdownConnectionOptions clientShutdownOption=ShutdownConnectionOptions.Disconnect)
 Initializes session runner arguments to start a multiplayer simulation. Init(ref SessionRunner.Arguments, RuntimeConfig) More...
 
static ref SessionRunner.Arguments InitForReplay (this ref SessionRunner.Arguments arguments, QuantumReplayFile replayFile, IAssetSerializer serializer=null, byte[] assets=null)
 Initializes session runner arguments to start a local replay simulation from a file. More...
 
static ref SessionRunner.Arguments InitForSnapshot (this ref SessionRunner.Arguments arguments, QuantumReplayFile replayFile, IAssetSerializer serializer=null, byte[] assets=null)
 Initialized session arguments to start a local game from a snapshot file. Internally uses InitForReplay(ref SessionRunner.Arguments, QuantumReplayFile, IAssetSerializer, byte[]) More...
 

Detailed Description

Extension methods to enhance creating and initializing SessionRunner.Arguments to simplify Quantum start procedures. Using any form of Init(ref SessionRunner.Arguments, RuntimeConfig) is optional and can be replaced by setting all arguments manually.

Member Function Documentation

◆ Init()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.Init ( this ref SessionRunner.Arguments  arguments,
RuntimeConfig  runtimeConfig 
)
inlinestatic

Init the session runner arguments to bind Unity related and global defaults. It's replacing QuantumRunnerUnityFactory.CreateGameParameters. Sets defaults for AssetSerializer CallbackDispatcher, EventDispatcher, ResourceManager, RunnerFactory, TaskRunner, SessionConfig, RuntimeConfig and PlayerCount.

Parameters
argumentsArguments to initialize
runtimeConfigRuntime config
Returns
Modified arguments

◆ InitForLocal()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.InitForLocal ( this ref SessionRunner.Arguments  arguments,
RuntimeConfig  runtimeConfig 
)
inlinestatic

Initializes session runner arguments to start a local simulation. Init(ref SessionRunner.Arguments, RuntimeConfig)

Parameters
argumentsArguments to initialize
runtimeConfigRuntime config
Returns
Modified arguments

◆ InitForMultiplayer()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.InitForMultiplayer ( this ref SessionRunner.Arguments  arguments,
RuntimeConfig  runtimeConfig,
RealtimeClient  client,
string  clientId,
ShutdownConnectionOptions  clientShutdownOption = ShutdownConnectionOptions.Disconnect 
)
inlinestatic

Initializes session runner arguments to start a multiplayer simulation. Init(ref SessionRunner.Arguments, RuntimeConfig)

Parameters
argumentsArguments to initialize
runtimeConfigRuntime config
clientThe connected Realtime client object
clientIdThe SessionRunner.Arguments.ClientId
clientShutdownOptionOptional connection shutdown options
Returns
Modified arguments

◆ InitForReplay()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.InitForReplay ( this ref SessionRunner.Arguments  arguments,
QuantumReplayFile  replayFile,
IAssetSerializer  serializer = null,
byte[]  assets = null 
)
inlinestatic

Initializes session runner arguments to start a local replay simulation from a file.

Parameters
argumentsArguments to initialize
replayFileSource of the replay data
serializerOptionally the asset serializer, for example QuantumUnityJsonSerializer
assetsOptionally the Quantum DB assets as binary serialized (e.g. from a file).
Returns
Modified arguments

◆ InitForInstantReplay()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.InitForInstantReplay ( this ref SessionRunner.Arguments  arguments,
QuantumGame  game,
Frame  snapshot,
IDeterministicReplayProvider  replayProvider 
)
inlinestatic

Initializes session runner arguments to start a local replay simulation from running simulation.

Parameters
argumentsArguments to initialize
gameThe main game to copy data from
snapshotThe saved snapshot to start from
replayProviderThe input provider
Returns
Modified arguments

◆ InitForSnapshot()

static ref SessionRunner.Arguments Quantum.QuantumRunnerExtensions.InitForSnapshot ( this ref SessionRunner.Arguments  arguments,
QuantumReplayFile  replayFile,
IAssetSerializer  serializer = null,
byte[]  assets = null 
)
inlinestatic

Initialized session arguments to start a local game from a snapshot file. Internally uses InitForReplay(ref SessionRunner.Arguments, QuantumReplayFile, IAssetSerializer, byte[])

Parameters
argumentsArguments to initialize
replayFileSource of the replay data
serializerOptionally the asset serializer, for example QuantumUnityJsonSerializer
assetsOptionally the Quantum DB assets as binary serialized (e.g. from a file).
Returns