private void SendTransform()
{
if (this.HasMoved() && (ClientScene.readyConnection != null))
{
this.m_LocalTransformWriter.StartMessage(6);
this.m_LocalTransformWriter.Write(base.netId);
switch (this.transformSyncMode)
{
case TransformSyncMode.SyncNone:
return;
case TransformSyncMode.SyncTransform:
this.SerializeModeTransform(this.m_LocalTransformWriter);
break;
case TransformSyncMode.SyncRigidbody2D:
this.SerializeMode2D(this.m_LocalTransformWriter);
break;
case TransformSyncMode.SyncRigidbody3D:
this.SerializeMode3D(this.m_LocalTransformWriter);
break;
case TransformSyncMode.SyncCharacterController:
this.SerializeModeCharacterController(this.m_LocalTransformWriter);
break;
}
if (this.m_RigidBody3D != null)
{
this.m_PrevPosition = this.m_RigidBody3D.position;
this.m_PrevRotation = this.m_RigidBody3D.rotation;
this.m_PrevVelocity = this.m_RigidBody3D.velocity.sqrMagnitude;
}
else if (this.m_RigidBody2D != null)
{
this.m_PrevPosition = (Vector3) this.m_RigidBody2D.position;
this.m_PrevRotation2D = this.m_RigidBody2D.rotation;
this.m_PrevVelocity = this.m_RigidBody2D.velocity.sqrMagnitude;
}
else
{
this.m_PrevPosition = base.transform.position;
this.m_PrevRotation = base.transform.rotation;
}
this.m_LocalTransformWriter.FinishMessage();
NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Outgoing, 6, "6:LocalPlayerTransform", 1);
ClientScene.readyConnection.SendWriter(this.m_LocalTransformWriter, this.GetNetworkChannel());
}
}