Space Engineers
Public Member Functions | Static Public Member Functions | Protected Member Functions | Properties | List of all members
Sandbox.Game.Replication.MyCharacterPhysicsStateGroup Class Reference

Responsible for synchronizing entity physics over network More...

Inheritance diagram for Sandbox.Game.Replication.MyCharacterPhysicsStateGroup:
Sandbox.Game.Replication.MyEntityPhysicsStateGroupWithSupport Sandbox.Game.Replication.MyEntityPhysicsStateGroup VRage.Network.IMyStateGroup VRage.Network.IMyNetObject VRage.Network.IMyEventOwner

Public Member Functions

 MyCharacterPhysicsStateGroup (MyEntity entity, IMyReplicable ownerReplicable)
 
override MyPlayer GetControllingPlayer ()
 
override bool Serialize (BitStream stream, EndpointId forClient, uint timeStamp, byte packetId, int maxBitPosition)
 
- Public Member Functions inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroupWithSupport
 MyEntityPhysicsStateGroupWithSupport (MyEntity entity, IMyReplicable ownerReplicable)
 
override void Destroy ()
 Called when state group is being destroyed. More...
 
void SetSupport (MyEntityPhysicsStateGroup physicsGroup)
 
override bool Serialize (BitStream stream, EndpointId forClient, uint timestamp, byte packetId, int maxBitPosition)
 
- Public Member Functions inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
delegate void MovedDelegate (ref MatrixD oldTransform, ref MatrixD newTransform)
 
delegate void VelocityDelegate (ref Vector3 oldVelocity, ref Vector3 newVelocity)
 
 MyEntityPhysicsStateGroup (MyEntity entity, IMyReplicable ownerReplicable)
 
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 (uint timestamp)
 
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)
 
- Public Member Functions inherited from VRage.Network.IMyStateGroup
void ClientUpdate (MyTimeSpan clientTimestamp)
 Update method called on client. 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 TimestampReset (MyTimeSpan timestamp)
 
bool IsStillDirty (EndpointId forClient)
 

Static Public Member Functions

static void ReadAndSkipCharacterState (BitStream stream)
 
- Static Public Member Functions inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
static bool ResponsibleForUpdate (MyEntity entity, EndpointId endpointId)
 

Protected Member Functions

override bool IsMoving (MyEntity entity)
 
override float GetGroupPriority (int frameCountWithoutSync, MyClientInfo client, PrioritySettings settings)
 
- Protected Member Functions inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
float GetBasicPhysicsPriority (MyClientInfo client)
 Takes into account: Static body (zero priority for static), ResponsibilityForUpdate by client (zero priority for not responsible), otherwise returns OwnerReplicable priority. More...
 
float GetMovementScale (PrioritySettings prioritySettings, out float updateOncePer)
 Gets priority scale and update rate based on prioritySettings. More...
 
virtual float GetGroupPriority (int frameCountWithoutSync, MyClientInfo client, PrioritySettings settings)
 
bool SerializeServerTransform (BitStream stream, MyEntity entity, Vector3D?deltaPosBase, bool movingOnServer, uint timeStamp, bool lowPrecisionOrientation, ref Vector3D outPosition, ref Quaternion outOrientation, ref MatrixD outWorldMartix, Func< MyEntity, Vector3D, bool > posValidation=null)
 
void SerializeServerVelocities (BitStream stream, MyEntity entity, float simulationRatio, bool movingOnServer, ref Vector3 outLinearVelocity, ref Vector3 outAngularVelocity)
 

Properties

new MyCharacter Entity [get]
 
- Properties inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroupWithSupport
MyEntityPhysicsStateGroup DebugSupport [get]
 
- Properties inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
bool IsAccelerating [get]
 
virtual bool IsControlledLocally [get]
 
static float EffectiveSimulationRatio [get]
 
MovedDelegate MoveHandler [get]
 
VelocityDelegate VelocityHandler [get]
 
virtual StateGroupEnum GroupType [get]
 
- Properties inherited from VRage.Network.IMyStateGroup
StateGroupEnum GroupType [get]
 
IMyReplicable Owner [get]
 

Additional Inherited Members

- Public Attributes inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroupWithSupport
Func< MyEntityPhysicsStateGroupFindSupportDelegate
 
- Public Attributes inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
readonly MyEntity Entity
 
readonly IMyReplicable OwnerReplicable
 
const int NUM_DECIMAL_PRECISION = 3
 
- Static Protected Member Functions inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
static bool SerializeTransform (BitStream stream, MyEntity entity, Vector3D?deltaPosBase, bool lowPrecisionOrientation, bool applyWhenReading, bool movingOnServer, uint timeStamp, Func< MyEntity, Vector3D, bool > posValidation=null, MovedDelegate moveHandler=null)
 Serializes transform into 10 to 30.5 bytes. More...
 
static void SerializeVelocities (BitStream stream, MyEntity entity, float simulationRatio, bool applyWhenReading, bool movingOnServer, VelocityDelegate velocityHandler=null)
 Serializes velocities into 12 bytes. More...
 
- Protected Attributes inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
Func< MyEntity, Vector3D, bool > m_positionValidation
 
readonly PrioritySettings m_prioritySettings = new PrioritySettings()
 
uint m_lastMovementFrame = 0
 
bool m_lowPrecisionOrientation
 
- Static Protected Attributes inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
static float PRECISION = 1/(float)Math.Pow(10,NUM_DECIMAL_PRECISION)
 
- Events inherited from Sandbox.Game.Replication.MyEntityPhysicsStateGroup
MovedDelegate OnMoved
 Event which occurs when entity is moved by network. More...
 
VelocityDelegate OnVelocityChanged
 

Detailed Description

Responsible for synchronizing entity physics over network

Definition at line 27 of file MyCharacterPhysicsStateGroup.cs.

Constructor & Destructor Documentation

Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.MyCharacterPhysicsStateGroup ( MyEntity  entity,
IMyReplicable  ownerReplicable 
)
inline

Definition at line 51 of file MyCharacterPhysicsStateGroup.cs.

Member Function Documentation

override MyPlayer Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.GetControllingPlayer ( )
inlinevirtual
override float Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.GetGroupPriority ( int  frameCountWithoutSync,
MyClientInfo  client,
PrioritySettings  settings 
)
inlineprotected

Definition at line 70 of file MyCharacterPhysicsStateGroup.cs.

override bool Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.IsMoving ( MyEntity  entity)
inlineprotectedvirtual
static void Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.ReadAndSkipCharacterState ( BitStream  stream)
inlinestatic

Definition at line 141 of file MyCharacterPhysicsStateGroup.cs.

override bool Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.Serialize ( BitStream  stream,
EndpointId  forClient,
uint  timeStamp,
byte  packetId,
int  maxBitPosition 
)
inlinevirtual

Property Documentation

new MyCharacter Sandbox.Game.Replication.MyCharacterPhysicsStateGroup.Entity
get

Definition at line 49 of file MyCharacterPhysicsStateGroup.cs.


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