private static float ReadAngle(P2PNetworkReader reader, ReplicatedTransform.CompressionSyncMode compression) { switch (compression) { case ReplicatedTransform.CompressionSyncMode.None: return(reader.ReadFloat()); case ReplicatedTransform.CompressionSyncMode.Low: return((float)reader.ReadInt16()); case ReplicatedTransform.CompressionSyncMode.High: return((float)reader.ReadInt16()); default: return(0f); } }
private static void WriteAngle(P2PNetworkWriter writer, float angle, ReplicatedTransform.CompressionSyncMode compression) { switch (compression) { case ReplicatedTransform.CompressionSyncMode.None: writer.Write(angle); return; case ReplicatedTransform.CompressionSyncMode.Low: writer.Write((short)angle); return; case ReplicatedTransform.CompressionSyncMode.High: writer.Write((short)angle); return; default: return; } }
public static void SerializeVelocity2D(P2PNetworkWriter writer, Vector2 velocity, ReplicatedTransform.CompressionSyncMode compression) { writer.Write(velocity); }
public static float UnserializeSpin2D(P2PNetworkReader reader, ReplicatedTransform.CompressionSyncMode compression) { return(ReplicatedTransform.ReadAngle(reader, compression)); }
public static Quaternion UnserializeRotation3D(P2PNetworkReader reader, ReplicatedTransform.AxisSyncMode mode, ReplicatedTransform.CompressionSyncMode compression) { Quaternion identity = Quaternion.identity; Vector3 zero = Vector3.zero; switch (mode) { case ReplicatedTransform.AxisSyncMode.AxisX: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), 0f, 0f); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisY: zero.Set(0f, ReplicatedTransform.ReadAngle(reader, compression), 0f); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisZ: zero.Set(0f, 0f, ReplicatedTransform.ReadAngle(reader, compression)); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisXY: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression), 0f); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisXZ: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), 0f, ReplicatedTransform.ReadAngle(reader, compression)); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisYZ: zero.Set(0f, ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression)); identity.eulerAngles = zero; break; case ReplicatedTransform.AxisSyncMode.AxisXYZ: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression)); identity.eulerAngles = zero; break; } return(identity); }
public static Vector3 UnserializeSpin3D(P2PNetworkReader reader, ReplicatedTransform.AxisSyncMode mode, ReplicatedTransform.CompressionSyncMode compression) { Vector3 zero = Vector3.zero; switch (mode) { case ReplicatedTransform.AxisSyncMode.AxisX: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), 0f, 0f); break; case ReplicatedTransform.AxisSyncMode.AxisY: zero.Set(0f, ReplicatedTransform.ReadAngle(reader, compression), 0f); break; case ReplicatedTransform.AxisSyncMode.AxisZ: zero.Set(0f, 0f, ReplicatedTransform.ReadAngle(reader, compression)); break; case ReplicatedTransform.AxisSyncMode.AxisXY: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression), 0f); break; case ReplicatedTransform.AxisSyncMode.AxisXZ: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), 0f, ReplicatedTransform.ReadAngle(reader, compression)); break; case ReplicatedTransform.AxisSyncMode.AxisYZ: zero.Set(0f, ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression)); break; case ReplicatedTransform.AxisSyncMode.AxisXYZ: zero.Set(ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression), ReplicatedTransform.ReadAngle(reader, compression)); break; } return(zero); }
public static Vector3 UnserializeVelocity2D(P2PNetworkReader reader, ReplicatedTransform.CompressionSyncMode compression) { return(reader.ReadVector2()); }
public static void SerializeSpin2D(P2PNetworkWriter writer, float angularVelocity, ReplicatedTransform.CompressionSyncMode compression) { ReplicatedTransform.WriteAngle(writer, angularVelocity, compression); }
public static void SerializeSpin3D(P2PNetworkWriter writer, Vector3 angularVelocity, ReplicatedTransform.AxisSyncMode mode, ReplicatedTransform.CompressionSyncMode compression) { switch (mode) { case ReplicatedTransform.AxisSyncMode.None: break; case ReplicatedTransform.AxisSyncMode.AxisX: ReplicatedTransform.WriteAngle(writer, angularVelocity.x, compression); return; case ReplicatedTransform.AxisSyncMode.AxisY: ReplicatedTransform.WriteAngle(writer, angularVelocity.y, compression); return; case ReplicatedTransform.AxisSyncMode.AxisZ: ReplicatedTransform.WriteAngle(writer, angularVelocity.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXY: ReplicatedTransform.WriteAngle(writer, angularVelocity.x, compression); ReplicatedTransform.WriteAngle(writer, angularVelocity.y, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXZ: ReplicatedTransform.WriteAngle(writer, angularVelocity.x, compression); ReplicatedTransform.WriteAngle(writer, angularVelocity.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisYZ: ReplicatedTransform.WriteAngle(writer, angularVelocity.y, compression); ReplicatedTransform.WriteAngle(writer, angularVelocity.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXYZ: ReplicatedTransform.WriteAngle(writer, angularVelocity.x, compression); ReplicatedTransform.WriteAngle(writer, angularVelocity.y, compression); ReplicatedTransform.WriteAngle(writer, angularVelocity.z, compression); break; default: return; } }
public static void SerializeRotation2D(P2PNetworkWriter writer, float rot, ReplicatedTransform.CompressionSyncMode compression) { ReplicatedTransform.WriteAngle(writer, rot, compression); }
public static void SerializeRotation3D(P2PNetworkWriter writer, Quaternion rot, ReplicatedTransform.AxisSyncMode mode, ReplicatedTransform.CompressionSyncMode compression) { switch (mode) { case ReplicatedTransform.AxisSyncMode.None: break; case ReplicatedTransform.AxisSyncMode.AxisX: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.x, compression); return; case ReplicatedTransform.AxisSyncMode.AxisY: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.y, compression); return; case ReplicatedTransform.AxisSyncMode.AxisZ: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXY: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.x, compression); ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.y, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXZ: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.x, compression); ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisYZ: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.y, compression); ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.z, compression); return; case ReplicatedTransform.AxisSyncMode.AxisXYZ: ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.x, compression); ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.y, compression); ReplicatedTransform.WriteAngle(writer, rot.eulerAngles.z, compression); break; default: return; } }