Space Engineers
|
Property sync state group. Synchronizes Sync members in SyncType. More...
Public Member Functions | |
delegate float | PriorityAdjustDelegate (int frameCountWithoutSync, MyClientStateBase clientState, float basePriority) |
MyPropertySyncStateGroup (IMyReplicable ownerReplicable, SyncType syncType) | |
void | MarkDirty () |
Marks dirty for all clients. More... | |
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... | |
virtual float | GetGroupPriority (int frameCountWithoutSync, MyClientInfo client) |
Gets group priority, when overloaded it can be useful to scale base priority. More... | |
void | Serialize (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) |
Public Attributes | |
Func< MyEventContext, bool > | GlobalValidate = (context) => true |
PriorityAdjustDelegate | PriorityAdjust = (frames, state, priority) => priority |
Properties | |
IMyReplicable | Owner [get] |
int | PropertyCount [get] |
StateGroupEnum | GroupType [get] |
Properties inherited from VRage.Network.IMyStateGroup | |
StateGroupEnum | GroupType [get] |
IMyReplicable | Owner [get] |
Property sync state group. Synchronizes Sync members in SyncType.
Definition at line 19 of file MyPropertySyncStateGroup.cs.
|
inline |
Definition at line 49 of file MyPropertySyncStateGroup.cs.
|
inline |
Update method called on client.
Implements VRage.Network.IMyStateGroup.
Definition at line 104 of file MyPropertySyncStateGroup.cs.
|
inline |
Called on server new clients starts replicating this group.
Implements VRage.Network.IMyStateGroup.
Definition at line 93 of file MyPropertySyncStateGroup.cs.
|
inline |
Called when state group is being destroyed.
Implements VRage.Network.IMyStateGroup.
Definition at line 123 of file MyPropertySyncStateGroup.cs.
|
inline |
Called on server when client stops replicating this group.
Implements VRage.Network.IMyStateGroup.
Definition at line 99 of file MyPropertySyncStateGroup.cs.
|
inline |
Implements VRage.Network.IMyStateGroup.
Definition at line 231 of file MyPropertySyncStateGroup.cs.
|
inlinevirtual |
Gets group priority, when overloaded it can be useful to scale base priority.
Implements VRage.Network.IMyStateGroup.
Definition at line 149 of file MyPropertySyncStateGroup.cs.
|
inline |
Implements VRage.Network.IMyStateGroup.
Definition at line 240 of file MyPropertySyncStateGroup.cs.
|
inline |
Marks dirty for all clients.
Definition at line 83 of file MyPropertySyncStateGroup.cs.
|
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.
forClient | The client. |
packetId | Id of the delivered or lost packet. |
delivered | True when packet was delivered, false when packet is considered lost. |
Implements VRage.Network.IMyStateGroup.
Definition at line 213 of file MyPropertySyncStateGroup.cs.
delegate float Sandbox.Game.Replication.StateGroups.MyPropertySyncStateGroup.PriorityAdjustDelegate | ( | int | frameCountWithoutSync, |
MyClientStateBase | clientState, | ||
float | basePriority | ||
) |
|
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.
stream | Stream to write to or read from. |
forClient | When writing the client which will receive the data. When reading, it's null. |
packetId | Id of packet in which the data will be sent or from which the data is received. |
maxBitPosition | Maximum position in bit stream where you can write data, it's inclusive. |
Implements VRage.Network.IMyStateGroup.
Definition at line 181 of file MyPropertySyncStateGroup.cs.
|
inline |
Implements VRage.Network.IMyStateGroup.
Definition at line 236 of file MyPropertySyncStateGroup.cs.
Func<MyEventContext, bool> Sandbox.Game.Replication.StateGroups.MyPropertySyncStateGroup.GlobalValidate = (context) => true |
Definition at line 43 of file MyPropertySyncStateGroup.cs.
PriorityAdjustDelegate Sandbox.Game.Replication.StateGroups.MyPropertySyncStateGroup.PriorityAdjust = (frames, state, priority) => priority |
Definition at line 44 of file MyPropertySyncStateGroup.cs.
|
get |
Definition at line 47 of file MyPropertySyncStateGroup.cs.
|
get |
Definition at line 41 of file MyPropertySyncStateGroup.cs.
|
get |
Definition at line 46 of file MyPropertySyncStateGroup.cs.