Photon Fusion 1.1.2

Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Properties | List of all members
Simulation Class Referenceabstract

Main simulation class More...

Inherits ILogBuilder, and INetPeerGroupCallbacks.

Public Member Functions

SimulationInput GetInputForPlayer (int player)
 
SimulationInput GetInputByIndex (int index)
 
bool HasAnyActiveConnections ()
 
int Update (double dt)
 Forwards the Simulation based on the Delta Time More...
 
void SetActiveScene (SceneRef scene)
 
void SendReliableData (int connection, int key, byte[] data)
 

Static Public Member Functions

static IDeltaCompressor GetDefaultDeltaCompressor ()
 
static IDeltaCompressor GetDebugDeltaCompressor ()
 

Public Attributes

Statistics Stats = new Statistics()
 

Static Public Attributes

const int DEFAULT_COMPRESSOR_OFFSET_BLOCK_SIZE = 3
 
const int DEFAULT_COMPRESSOR_VALUE_BLOCK_SIZE = 6
 

Protected Member Functions

virtual void OnPlayerJoinedLeftInternalMessage (PlayerRef player, bool joined)
 
virtual void AfterUpdate ()
 
virtual void NetworkConnected (NetConnection *connection)
 
virtual void NetworkDisconnected (NetConnection *connection)
 
virtual void NetworkReceiveDone ()
 
virtual void NoSimulation ()
 
virtual int BeforeSimulation ()
 
virtual void BeforeTick ()
 
virtual void AfterTick ()
 
virtual void AfterSimulation ()
 

Properties

bool IsShutdown [get]
 
bool IsResimulation [get]
 Use inside of FixedUpdateNetwork to determine if the tick currently being simulated has previously been simulated locally. Resimulation occurs in client prediction when new states arrive from the StateAuthority. Networked objects are set to the most current authority state tick, and simulations are repeated from that tick to the local current tick. More...
 
bool IsLastTick [get]
 Use in conjunction with IsResimulation/IsForward inside of FixedUpdateNetwork to determine if the current tick being simulated is the last tick of the resimulation or forward phase of the simulation loop. More...
 
bool IsFirstTick [get]
 Use in conjunction with IsResimulation/IsForward inside of FixedUpdateNetwork to determine if the current tick being simulated is the first tick of the resimulation or forward phase of the simulation loop. More...
 
bool IsForward [get]
 Use inside of FixedUpdateNetwork to determine if the tick currently being simulated has NOT previously been simulated locally. More...
 
bool IsLocalPlayerFirstExecution [get]
 True if the current stage of the simulation loop is Forward. False during resimulations. More...
 
SimulationSnapshot State [get]
 
SimulationSnapshot StatePrevious [get]
 
float StateAlpha [get]
 
SimulationSnapshot StateResume [get]
 
Tick Tick [get]
 The tick associated with the current state of networked objects, or the current simulation tick being processed (when evaluated during FixedUpdateNetwork). More...
 
int InputCount [get]
 
int MaxConnections [get]
 
SimulationConfig.Topologies Topology [get]
 Indicates if a Server/Client or Shared Mode (relay server) topology is being used. More...
 
SimulationSnapshot.IHistory SnapshotHistory [get]
 
SimulationModes Mode [get]
 Gets the SimulationModes flags for The type of network peer this simulation represents. More...
 
SimulationStages Stage [get]
 Gets the current SimulationStages value. More...
 
SimulationConfig Config [get]
 The SimulationConfig file used by this Simulation. More...
 
NetworkProjectConfig ProjectConfig [get]
 The NetworkProjectConfig file used by this Simulation. More...
 
float DeltaTime [get]
 Gets the fixed tick time interval. Derived from the SimulationConfig.TickRate. More...
 
SimulationSnapshot InterpTo [get]
 
SimulationSnapshot InterpFrom [get]
 
float InterpAlpha [get]
 
bool IsClient [get]
 If this peer is a client. True for client peers in Server/Client topologies, and true for all peers in Shared Mode. More...
 
bool IsServer [get]
 If this peer is the server. True for the Server or Host peer in Server/Client topologies, and always false for all peers in Shared Mode (the relay is the server). More...
 
bool IsPlayer [get]
 True for any peer that represents a human player. This is true for all peers except a dedicated server. More...
 
bool IsSinglePlayer [get]
 Indicates that this simulation is operating in Single Player mode, which is a Host that accepts no connections. More...
 
bool IsMasterClient [get]
 Only valid in Shared Mode. Indicates if this peer is flagged as the MasterClient, which means it is default StateAuthority More...
 
virtual IEnumerable< PlayerRefActivePlayers [get]
 
bool IsRunning [get]
 Signal if the Simulation is currently running More...
 
NetAddress LocalAddress [get]
 Bound Address of the internal socket More...
 
NetConfigNetConfigPointer [get]
 
abstract PlayerRef LocalPlayer [get]
 
abstract SimulationSnapshot LatestServerState [get]
 

Detailed Description

Main simulation class

Member Function Documentation

◆ Update()

int Update ( double  dt)

Forwards the Simulation based on the Delta Time

Parameters
dtDelta Time used to forward the simulation
Returns
How many Ticks executed on this Update

Property Documentation

◆ Config

SimulationConfig Config
get

The SimulationConfig file used by this Simulation.

◆ DeltaTime

float DeltaTime
get

Gets the fixed tick time interval. Derived from the SimulationConfig.TickRate.

◆ IsClient

bool IsClient
get

If this peer is a client. True for client peers in Server/Client topologies, and true for all peers in Shared Mode.

◆ IsFirstTick

bool IsFirstTick
get

Use in conjunction with IsResimulation/IsForward inside of FixedUpdateNetwork to determine if the current tick being simulated is the first tick of the resimulation or forward phase of the simulation loop.

'Resimulation' describes simulating a tick that has been previously been simulated.
'Forward' describes simulating a tick that is being simulated for the first time locally.
'Prediction' describes simulating ticks higher than the most current known StateAuthority snapshot tick.

◆ IsForward

bool IsForward
get

Use inside of FixedUpdateNetwork to determine if the tick currently being simulated has NOT previously been simulated locally.

◆ IsLastTick

bool IsLastTick
get

Use in conjunction with IsResimulation/IsForward inside of FixedUpdateNetwork to determine if the current tick being simulated is the last tick of the resimulation or forward phase of the simulation loop.

'Resimulation' describes simulating a tick that has been previously been simulated.
'Forward' describes simulating a tick that is being simulated for the first time locally.
'Prediction' describes simulating ticks higher than the most current known StateAuthority snapshot tick.

◆ IsLocalPlayerFirstExecution

bool IsLocalPlayerFirstExecution
get

True if the current stage of the simulation loop is Forward. False during resimulations.

'Resimulation' describes simulating a tick that has been previously been simulated.
'Forward' describes simulating a tick that is being simulated for the first time locally.
'Prediction' describes simulating ticks higher than the most current known StateAuthority snapshot tick.

◆ IsMasterClient

bool IsMasterClient
get

Only valid in Shared Mode. Indicates if this peer is flagged as the MasterClient, which means it is default StateAuthority

◆ IsPlayer

bool IsPlayer
get

True for any peer that represents a human player. This is true for all peers except a dedicated server.

◆ IsResimulation

bool IsResimulation
get

Use inside of FixedUpdateNetwork to determine if the tick currently being simulated has previously been simulated locally. Resimulation occurs in client prediction when new states arrive from the StateAuthority. Networked objects are set to the most current authority state tick, and simulations are repeated from that tick to the local current tick.

◆ IsRunning

bool IsRunning
get

Signal if the Simulation is currently running

◆ IsServer

bool IsServer
get

If this peer is the server. True for the Server or Host peer in Server/Client topologies, and always false for all peers in Shared Mode (the relay is the server).

◆ IsSinglePlayer

bool IsSinglePlayer
get

Indicates that this simulation is operating in Single Player mode, which is a Host that accepts no connections.

◆ LocalAddress

NetAddress LocalAddress
get

Bound Address of the internal socket

◆ Mode

SimulationModes Mode
get

Gets the SimulationModes flags for The type of network peer this simulation represents.

◆ ProjectConfig

NetworkProjectConfig ProjectConfig
get

The NetworkProjectConfig file used by this Simulation.

◆ Stage

SimulationStages Stage
get

Gets the current SimulationStages value.

◆ Tick

Tick Tick
get

The tick associated with the current state of networked objects, or the current simulation tick being processed (when evaluated during FixedUpdateNetwork).

◆ Topology

Indicates if a Server/Client or Shared Mode (relay server) topology is being used.