// Token: 0x06003DE8 RID: 15848 RVA: 0x00137FBC File Offset: 0x001363BC protected internal void SerializeComponent(Component component, PhotonStream stream, PhotonMessageInfo info) { if (component == null) { return; } if (component is UnityEngine.MonoBehaviour) { this.ExecuteComponentOnSerialize(component, stream, info); } else if (component is Transform) { Transform transform = (Transform)component; switch (this.onSerializeTransformOption) { case OnSerializeTransform.OnlyPosition: stream.SendNext(transform.localPosition); break; case OnSerializeTransform.OnlyRotation: stream.SendNext(transform.localRotation); break; case OnSerializeTransform.OnlyScale: stream.SendNext(transform.localScale); break; case OnSerializeTransform.PositionAndRotation: stream.SendNext(transform.localPosition); stream.SendNext(transform.localRotation); break; case OnSerializeTransform.All: stream.SendNext(transform.localPosition); stream.SendNext(transform.localRotation); stream.SendNext(transform.localScale); break; } } else if (component is Rigidbody) { Rigidbody rigidbody = (Rigidbody)component; OnSerializeRigidBody onSerializeRigidBody = this.onSerializeRigidBodyOption; if (onSerializeRigidBody != OnSerializeRigidBody.All) { if (onSerializeRigidBody != OnSerializeRigidBody.OnlyAngularVelocity) { if (onSerializeRigidBody == OnSerializeRigidBody.OnlyVelocity) { stream.SendNext(rigidbody.velocity); } } else { stream.SendNext(rigidbody.angularVelocity); } } else { stream.SendNext(rigidbody.velocity); stream.SendNext(rigidbody.angularVelocity); } } else if (component is Rigidbody2D) { Rigidbody2D rigidbody2D = (Rigidbody2D)component; OnSerializeRigidBody onSerializeRigidBody2 = this.onSerializeRigidBodyOption; if (onSerializeRigidBody2 != OnSerializeRigidBody.All) { if (onSerializeRigidBody2 != OnSerializeRigidBody.OnlyAngularVelocity) { if (onSerializeRigidBody2 == OnSerializeRigidBody.OnlyVelocity) { stream.SendNext(rigidbody2D.velocity); } } else { stream.SendNext(rigidbody2D.angularVelocity); } } else { stream.SendNext(rigidbody2D.velocity); stream.SendNext(rigidbody2D.angularVelocity); } } else { Debug.LogError("Observed type is not serializable: " + component.GetType()); } }
// Token: 0x06003DE7 RID: 15847 RVA: 0x00137D84 File Offset: 0x00136184 protected internal void DeserializeComponent(Component component, PhotonStream stream, PhotonMessageInfo info) { if (component == null) { return; } if (component is UnityEngine.MonoBehaviour) { this.ExecuteComponentOnSerialize(component, stream, info); } else if (component is Transform) { Transform transform = (Transform)component; switch (this.onSerializeTransformOption) { case OnSerializeTransform.OnlyPosition: transform.localPosition = (Vector3)stream.ReceiveNext(); break; case OnSerializeTransform.OnlyRotation: transform.localRotation = (Quaternion)stream.ReceiveNext(); break; case OnSerializeTransform.OnlyScale: transform.localScale = (Vector3)stream.ReceiveNext(); break; case OnSerializeTransform.PositionAndRotation: transform.localPosition = (Vector3)stream.ReceiveNext(); transform.localRotation = (Quaternion)stream.ReceiveNext(); break; case OnSerializeTransform.All: transform.localPosition = (Vector3)stream.ReceiveNext(); transform.localRotation = (Quaternion)stream.ReceiveNext(); transform.localScale = (Vector3)stream.ReceiveNext(); break; } } else if (component is Rigidbody) { Rigidbody rigidbody = (Rigidbody)component; OnSerializeRigidBody onSerializeRigidBody = this.onSerializeRigidBodyOption; if (onSerializeRigidBody != OnSerializeRigidBody.All) { if (onSerializeRigidBody != OnSerializeRigidBody.OnlyAngularVelocity) { if (onSerializeRigidBody == OnSerializeRigidBody.OnlyVelocity) { rigidbody.velocity = (Vector3)stream.ReceiveNext(); } } else { rigidbody.angularVelocity = (Vector3)stream.ReceiveNext(); } } else { rigidbody.velocity = (Vector3)stream.ReceiveNext(); rigidbody.angularVelocity = (Vector3)stream.ReceiveNext(); } } else if (component is Rigidbody2D) { Rigidbody2D rigidbody2D = (Rigidbody2D)component; OnSerializeRigidBody onSerializeRigidBody2 = this.onSerializeRigidBodyOption; if (onSerializeRigidBody2 != OnSerializeRigidBody.All) { if (onSerializeRigidBody2 != OnSerializeRigidBody.OnlyAngularVelocity) { if (onSerializeRigidBody2 == OnSerializeRigidBody.OnlyVelocity) { rigidbody2D.velocity = (Vector2)stream.ReceiveNext(); } } else { rigidbody2D.angularVelocity = (float)stream.ReceiveNext(); } } else { rigidbody2D.velocity = (Vector2)stream.ReceiveNext(); rigidbody2D.angularVelocity = (float)stream.ReceiveNext(); } } else { Debug.LogError("Type of observed is unknown when receiving."); } }