Photon Quantum 3.0.0

Namespaces | Classes | Enumerations | Functions
Photon.Deterministic Namespace Reference

Classes

class  BitStream
 Writes information at the bit level to a byte array. More...
 
class  ByteUtils
 Utility class for working with bytes. More...
 
class  ChecksumErrorFrameDump
 A class that accumulates frame dumps from other clients during a checksum desync. More...
 
class  ConfigParsingExtensions
 Used by the server to parse the config information More...
 
struct  DeterministicChecksumResult
 The data checksum is used to verify the integrity of the simulation. More...
 
class  DeterministicCommand
 The base class for deterministic commands. Always override Serialize(BitStream) to add additional data. More...
 
class  DeterministicCommandPool
 Create a deterministic command pool for a specific command type. Make sure to reset all command data when reusing the objects. More...
 
class  DeterministicCommandSerializer
 The DeterministicCommandSerializer is used to serialize and de-serialize DeterministicCommands. More...
 
class  DeterministicFrame
 The base class for the simulation frame. Also referred as rollback-able game state. More...
 
struct  DeterministicFrameInputTemp
 A struct that saves input data for a player duplicating internal input data that is not save to use because of recycling. More...
 
class  DeterministicFrameRingBuffer
 The frame ring buffer is a utility collection class that stores a fixed number of latest frames in a ring buffer, usually in a certain time interval. A use-case for example are instant replays which allow to create a new simulation in the past time of the main simulation. More...
 
struct  DeterministicInput
 Obsolete type. More...
 
class  DeterministicPlatformInfo
 Essential platform dependent information and implementations. More...
 
class  DeterministicPlayerMap
 A utility class to collect a list of players and player slots. A client can maintain multiple players with individual player slots. The player always refers to a global player index that is the same on all clients. The player slot is a zero based index counting the number of players that one client controls. E.g. a client has two players: PlayerRef 5 and PlayerRef 2, the player slots are 0 and 1. More...
 
class  DeterministicPlugin
 Override the Quantum plugin class to create a custom server object. More...
 
class  DeterministicPluginFactory
 The default Quantum plugin factory. Replace with custom implementation of IPluginFactory. Change the name accordingly in your Photon dashboard and in this file (Photon-Server\deploy\LoadBalancing\GameServer\bin\plugin.config) to run locally. More...
 
class  DeterministicProtocolVersionAttribute
 The assembly attribute to specify the deterministic protocol version. More...
 
class  DeterministicSession
 Represents a Quantum runtime match, holding the references to Game, its Frames (game state) and Simulator, and implements (together with Simulator) the predict/rollback logic, time control and input management. Single use, so whenever a Session is shutdown (or disconnected), it can't be reused anymore and a new one must be instantiated. More...
 
struct  DeterministicSessionArgs
 Represents the starting arguments for a deterministic constructor. More...
 
class  DeterministicSessionConfig
 Parameterize internals of the Deterministic simulation and plugin (the Quantum server component). More...
 
class  DeterministicStats
 Deterministic simulation statistic. More...
 
class  DeterministicTickChecksum
 An object that contains a tick and a checksum. More...
 
class  DeterministicTickChecksumError
 A collection of checksums when an error was recognized. More...
 
class  DeterministicTickInput
 The internal input structure for one player and one tick. More...
 
class  DeterministicTickInputDecoder
 The decoder helps to deserialize the input from the server. More...
 
struct  DeterministicTickInputEncodeHeader
 Input header information. More...
 
struct  DeterministicTickInputSet
 The complete input set of all players for a single tick. More...
 
struct  FP
 A fixed-point number. 16 lower bits are used for the decimal part, 48 for the integral part. More...
 
struct  FPBounds2
 Represents an 2D axis aligned bounding box (AABB). More...
 
struct  FPBounds3
 Represents an 3D axis aligned bounding box (AABB). More...
 
struct  FPCollision
 A collection of collision helper functions. More...
 
struct  FPHighPrecisionDivisor
 Represents a high precision divisor for use with the Fixed Point math system. More...
 
class  FPLut
 The lookup table for the inverse cosine function. The table stores precalculated values of the inverse cosine function for specific angles. The values are in fixed-point format with a precision of 16 bits. More...
 
struct  FPMath
 A collection of common math functions. More...
 
struct  FPMatrix2x2
 Represents 2x2 column major matrix, which can be used for 2D scaling and rotation. Each cell can be individually accessed as a field (M<row><column>). More...
 
struct  FPMatrix3x3
 Represents 3x3 column major matrix. Each cell can be individually accessed as a field (M<row><column>), with indexing indexing property[row, column] or with indexing property[index]. More...
 
struct  FPMatrix4x4
 Represents 4x4 column major matrix. Each cell can be individually accessed as a field (M<row><column>), with indexing indexxing property[row, column] or with indexing property[index]. More...
 
struct  FPQuaternion
 A Quaternion representing an orientation. More...
 
struct  FPVector2
 Represents a 2D Vector More...
 
struct  FPVector3
 Represents a 3D Vector More...
 
interface  IDeterministicCommandFactory
 The command factor interface. More...
 
interface  IDeterministicCommandPool
 Command pool interface. More...
 
interface  IDeterministicDeltaCompressedInput
 The interface encapsulates managing the access to delta compressed input. More...
 
interface  IDeterministicFrameSerializer
 The interface of the serializer object used to serialize and deserialize components. More...
 
interface  IDeterministicGame
 The deterministic game interface is the main hub that holds information about the simulation on the Quantum.Deterministic level. More...
 
interface  IDeterministicInputProvider
 The interface encapsulates managing the Quantum input. More...
 
interface  IDeterministicPlatformTaskRunner
 The interface for the task runner used in the Quantum task system. More...
 
interface  IDeterministicReplayProvider
 An internal interface to encapsulate managing rpc and input. More...
 
interface  IDeterministicRpcProvider
 The interface encapsulates managing the Quantum RPCs. More...
 
interface  IDeterministicStreamReplayInputProvider
 The interface to implement streaming input for a Quantum replay session. More...
 
struct  InputSetMask
 The input mask is a utility struct to keep track of which players are included in a set of inputs. Max player count supported is 128. Internally the mask is split into two ulongs. More...
 
struct  IntVector2
 Represents a two-dimensional vector with integer components. More...
 
struct  IntVector3
 Represents a three-dimensional vector with integer components. More...
 
class  Native
 Native is a collections of tools that interact with the platform's native code directly like memory allocation, copy operations, etc. More...
 
struct  NullableFP
 A serializable equivalent of Nullable<FP>. More...
 
struct  NullableFPVector2
 A serializable equivalent of Nullable<FPVector2>. More...
 
struct  NullableFPVector3
 A serializable equivalent of Nullable<FPVector3>. More...
 
struct  NullableNonNegativeFP
 A serializable equivalent of Nullable<FP>. More...
 
struct  Plane
 Represents a plane in three-dimensional space. More...
 
struct  RNGSession
 PCG32 random generator, 16 bytes in size. http://www.pcg-random.org More...
 

Enumerations

enum  DeterministicCommandSendResult
 The result of sending a deterministic command. More...
 
enum  DeterministicFrameSerializeMode
 The serialization mode used for serializing a DeterministicFrame. More...
 
enum  DeterministicFrameSnapshotBufferFindMode
 The mode to find a frame in the DeterministicFrameRingBuffer to best approximate the desired frame. More...
 
enum  DeterministicGameMode
 The Quantum game mode makes a distinction between multiplayer, local, and replay modes. More...
 
enum  DeterministicInputFlags : byte
 The DeterministicInputFlags are used by Quantum to: More...
 
enum  DeterministicProtocolVersions
 The Quantum protocol versions. More...
 
enum  DeterministicSessionState
 Represents the state of a deterministic session. More...
 

Functions

delegate byte[] LutProvider (string path)
 A delegate to provide LUT data. More...
 

Enumeration Type Documentation

◆ DeterministicFrameSnapshotBufferFindMode

The mode to find a frame in the DeterministicFrameRingBuffer to best approximate the desired frame.

Enumerator
Equal 

Will only return the frame if the frame number is exactly the same otherwise null.

ClosestLessThanOrEqual 

Will return a frame that is equal to the desired frame or less.

Closest 

Will return the frame that is closest to the desired frame.

◆ DeterministicProtocolVersions

The Quantum protocol versions.

Enumerator
V1_2_0_0 

1.2.0

V1_2_1_0 

1.2.1

V1_2_2_0 

1.2.2

V1_2_3_0 

1.2.3RC1

V1_2_3_1 

1.2.3RC2, 1.2.4B1

V2_0_0_0 

1.2.3F3+, 1.2.4B2+

V2_1_0_0 

2.0.0 Beta+

V2_2_0_0 

2.1.0 Alpha+

V3_0_0_0 

3.0.0

◆ DeterministicGameMode

The Quantum game mode makes a distinction between multiplayer, local, and replay modes.

Enumerator
Multiplayer 

Multiplayer mode

Local 

Offline mode, only running a local simulation.

Replay 

The replay mode is cost efficient that is used when all inputs are already known.

Spectating 

Obsolete mode

◆ DeterministicCommandSendResult

The result of sending a deterministic command.

Enumerator
Success 

Success

FailedIsSpectating 

Can't send commands when running in spectating mode.

FailedTooBig 

Command message is too big

FailedSimulationNotRunning 

Simulation is not running

◆ DeterministicFrameSerializeMode

The serialization mode used for serializing a DeterministicFrame.

◆ DeterministicSessionState

Represents the state of a deterministic session.

Enumerator
Idle 

Represents the idle state of a deterministic session.

Joined 

The session is joined.

Running 

The session is running.

Shutdown 

The session is shut down.

Destroyed 

The session is destroyed.

◆ DeterministicInputFlags

The DeterministicInputFlags are used by Quantum to:

  • detect whether a player is present , i.e.connected, to the simulation;
  • decide how to predict the next tick's input for a given player; and,
  • know whether the input on a verified frame was provided by a client or was replaced by the server.
Enumerator
Repeatable 

Tells both the server and other clients to copy this input data into the next tick (on server when replacing input due to timeout, and on other clients for the local prediction algorithm). This can be set by the developer from Unity when injecting player input and should be used on direct-control-like input such as movement. It is not meant for command-like input (e.g. buy item).

PlayerNotPresent 

No client connected for this player index.

ReplacedByServer 

The player index is controlled by a client, but the client did not send the input in time which resulted in the server repeating or replacing/zeroing out the input.

Command 

This input has an additional deterministic command.

Function Documentation

◆ LutProvider()

delegate byte [] Photon.Deterministic.LutProvider ( string  path)

A delegate to provide LUT data.