private void BroadcastRotationChangeToRelevantPlayers() { if (m_RelChecker.RelevantTo.Count == 0) { return; } if (!CompressRotation) { var msg = new RotationChangeMessage { Rot = m_LastRot, TargetNetID = netId }; foreach (var nc in m_RelChecker.RelevantTo) { nc.Send(MessageType.RotationChange, msg); } } else { var msg = new CompressedRotationChangeMessage { X = (short)m_LastRot.eulerAngles.x, Y = (short)m_LastRot.eulerAngles.y, Z = (short)m_LastRot.eulerAngles.z, TargetNetID = netId }; foreach (var nc in m_RelChecker.RelevantTo) { nc.Send(MessageType.CompressedRotationChange, msg); } } }
public void ReceiveRotationChangeMessage(CompressedRotationChangeMessage msg) { m_SyncRot = Quaternion.identity; m_SyncRot.eulerAngles = new Vector3(msg.X, msg.Y, msg.Z); }