Space Engineers
Classes | Public Member Functions | Properties | List of all members
Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T > Class Template Reference
Inheritance diagram for Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >:
VRage.Network.IMyStateGroup VRage.Network.IMyNetObject VRage.Network.IMyEventOwner

Public Member Functions

 MyStreamingEntityStateGroup (T obj, IMyReplicable owner)
 
void CreateClientData (MyClientStateBase forClient)
 Called on server new clients starts replicating this group. More...
 
void DestroyClientData (MyClientStateBase forClient)
 Called on server when client stops replicating this group. More...
 
void ClientUpdate (MyTimeSpan clientTimestamp)
 Update method called on client. More...
 
void Destroy ()
 Called when state group is being destroyed. More...
 
float GetGroupPriority (int frameCountWithoutSync, MyClientInfo forClient)
 Gets priority related to client. When priority is lower than zero, it means the object is not relevant for client. Default priority is 1.0f. More...
 
void Serialize (VRage.Library.Collections.BitStream stream, EndpointId forClient, MyTimeSpan timestamp, byte packetId, int maxBitPosition)
 (De)serializes group state or it's diff for client. When writing, you can write beyond maxBitPosition, but message won't be sent and ACKs won't be received for it. ReplicationServer will detect, that state group written beyond packet size and revert it. When nothing written, ReplicationServer will detect that and state group won't receive ACK for that packet id. More...
 
void OnAck (MyClientStateBase forClient, byte packetId, bool delivered)
 Called for each packet id sent to client from this state group. When ACK received, called immediatelly. When several other packets received from client, but some were missing, called for each missing packet. More...
 
void ForceSend (MyClientStateBase clientData)
 
void TimestampReset (MyTimeSpan timestamp)
 
bool IsStillDirty (EndpointId forClient)
 

Properties

Instance [get]
 
IMyReplicable Owner [get]
 
StateGroupEnum GroupType [get]
 
- Properties inherited from VRage.Network.IMyStateGroup
StateGroupEnum GroupType [get]
 
IMyReplicable Owner [get]
 

Detailed Description

Type Constraints
T :IMyStreamableReplicable 

Definition at line 57 of file MyStreamingEntityStateGroup.cs.

Constructor & Destructor Documentation

Definition at line 69 of file MyStreamingEntityStateGroup.cs.

Member Function Documentation

void Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >.ClientUpdate ( MyTimeSpan  clientTimestamp)
inline

Update method called on client.

Implements VRage.Network.IMyStateGroup.

Definition at line 139 of file MyStreamingEntityStateGroup.cs.

Called on server new clients starts replicating this group.

Implements VRage.Network.IMyStateGroup.

Definition at line 116 of file MyStreamingEntityStateGroup.cs.

Called when state group is being destroyed.

Implements VRage.Network.IMyStateGroup.

Definition at line 144 of file MyStreamingEntityStateGroup.cs.

Called on server when client stops replicating this group.

Implements VRage.Network.IMyStateGroup.

Definition at line 131 of file MyStreamingEntityStateGroup.cs.

Implements VRage.Network.IMyStateGroup.

Definition at line 503 of file MyStreamingEntityStateGroup.cs.

float Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >.GetGroupPriority ( int  frameCountWithoutSync,
MyClientInfo  forClient 
)
inline

Gets priority related to client. When priority is lower than zero, it means the object is not relevant for client. Default priority is 1.0f.

Parameters
frameCountWithoutSyncHow long (in update frame count) has client not received sync of this state group.
forClientClient for whom is the priority get.

Implements VRage.Network.IMyStateGroup.

Definition at line 153 of file MyStreamingEntityStateGroup.cs.

Implements VRage.Network.IMyStateGroup.

Definition at line 514 of file MyStreamingEntityStateGroup.cs.

void Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >.OnAck ( MyClientStateBase  forClient,
byte  packetId,
bool  delivered 
)
inline

Called for each packet id sent to client from this state group. When ACK received, called immediatelly. When several other packets received from client, but some were missing, called for each missing packet.

Parameters
forClientThe client.
packetIdId of the delivered or lost packet.
deliveredTrue when packet was delivered, false when packet is considered lost.

Implements VRage.Network.IMyStateGroup.

Definition at line 473 of file MyStreamingEntityStateGroup.cs.

void Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >.Serialize ( VRage.Library.Collections.BitStream  stream,
EndpointId  forClient,
MyTimeSpan  timestamp,
byte  packetId,
int  maxBitPosition 
)
inline

(De)serializes group state or it's diff for client. When writing, you can write beyond maxBitPosition, but message won't be sent and ACKs won't be received for it. ReplicationServer will detect, that state group written beyond packet size and revert it. When nothing written, ReplicationServer will detect that and state group won't receive ACK for that packet id.

Parameters
streamStream to write to or read from.
forClientWhen writing the client which will receive the data. When reading, it's null.
packetIdId of packet in which the data will be sent or from which the data is received.
maxBitPositionMaximum position in bit stream where you can write data, it's inclusive.

Implements VRage.Network.IMyStateGroup.

Definition at line 435 of file MyStreamingEntityStateGroup.cs.

void Sandbox.Game.Replication.StateGroups.MyStreamingEntityStateGroup< T >.TimestampReset ( MyTimeSpan  timestamp)
inline

Implements VRage.Network.IMyStateGroup.

Definition at line 510 of file MyStreamingEntityStateGroup.cs.

Property Documentation

Definition at line 112 of file MyStreamingEntityStateGroup.cs.

Definition at line 63 of file MyStreamingEntityStateGroup.cs.

Definition at line 67 of file MyStreamingEntityStateGroup.cs.


The documentation for this class was generated from the following file: