Photon Quantum 3.0.0

Public Member Functions | Public Attributes | List of all members
Quantum.QuantumReplayFile Class Reference

A class that holds all relevant data to run a Quantum replay and can serialized in JSON. A replay may contain an asset db for convenience, that should be omitted in production environments where files sizes are a concern. A replay may contain recorded checksums, that can be verified during runtime as a development feature. More...

Inheritance diagram for Quantum.QuantumReplayFile:
Quantum.ReplayFile

Public Member Functions

IDeterministicReplayProvider CreateInputProvider ()
 Helper method to create an input provider based on the combination of the saved input history configurations. More...
 

Public Attributes

QuantumJsonFriendlyDataBlob AssetDatabaseData
 Optional serialized asset database. Omit this for replays in production environments. Use AssetSerializer.SerializeAssets(stream, ResourceManager.LoadAllAssets().ToArray() More...
 
ChecksumFile Checksums
 Optional checksums. Omit this for replays in production environments. More...
 
DeterministicSessionConfig DeterministicConfig
 The session config. More...
 
byte[] InitialFrameData
 Optional frame data to start the replay with. This is used for save games for example. More...
 
int InitialTick
 The initial tick to start from, requires InitialFrameData to be set. More...
 
QuantumJsonFriendlyDataBlob InputHistoryDeltaCompressed
 Delta compressed binary input history, this is the same that is send over replay webhooks for example. More...
 
DeterministicTickInputSet[] InputHistoryLegacy
 Full verbose input used in Quantum 2.1, which is still functional, but has only fringe use cases. More...
 
int LastTick
 The last tick of the input. More...
 
QuantumJsonFriendlyDataBlob RuntimeConfigData
 Binary serialized RuntimeConfig. Use AssetSerializer.ConfigToByteArray(runtimeConfig, compress: true) More...
 

Detailed Description

A class that holds all relevant data to run a Quantum replay and can serialized in JSON. A replay may contain an asset db for convenience, that should be omitted in production environments where files sizes are a concern. A replay may contain recorded checksums, that can be verified during runtime as a development feature.

Member Function Documentation

◆ CreateInputProvider()

IDeterministicReplayProvider Quantum.QuantumReplayFile.CreateInputProvider ( )
inline

Helper method to create an input provider based on the combination of the saved input history configurations.

Returns
Replay input provider to play back the input. Use this in SessionRunner.Arguments.ReplayProvider

.

Member Data Documentation

◆ InputHistoryDeltaCompressed

QuantumJsonFriendlyDataBlob Quantum.QuantumReplayFile.InputHistoryDeltaCompressed

Delta compressed binary input history, this is the same that is send over replay webhooks for example.

◆ InputHistoryLegacy

DeterministicTickInputSet [] Quantum.QuantumReplayFile.InputHistoryLegacy

Full verbose input used in Quantum 2.1, which is still functional, but has only fringe use cases.

◆ RuntimeConfigData

QuantumJsonFriendlyDataBlob Quantum.QuantumReplayFile.RuntimeConfigData

Binary serialized RuntimeConfig. Use AssetSerializer.ConfigToByteArray(runtimeConfig, compress: true)

◆ DeterministicConfig

DeterministicSessionConfig Quantum.QuantumReplayFile.DeterministicConfig

The session config.

◆ LastTick

int Quantum.QuantumReplayFile.LastTick

The last tick of the input.

◆ InitialTick

int Quantum.QuantumReplayFile.InitialTick

The initial tick to start from, requires InitialFrameData to be set.

◆ InitialFrameData

byte [] Quantum.QuantumReplayFile.InitialFrameData

Optional frame data to start the replay with. This is used for save games for example.

◆ Checksums

ChecksumFile Quantum.QuantumReplayFile.Checksums

Optional checksums. Omit this for replays in production environments.

◆ AssetDatabaseData

QuantumJsonFriendlyDataBlob Quantum.QuantumReplayFile.AssetDatabaseData

Optional serialized asset database. Omit this for replays in production environments. Use AssetSerializer.SerializeAssets(stream, ResourceManager.LoadAllAssets().ToArray()