public void ReceiveAuthorityRelease(Message message) { if (buffer.NotSyncedAddToBuffer(IsSynced, ReceiveAuthorityRelease, message)) { return; } using (DarkRiftReader reader = message.GetReader()) { Main.Log($"[CLIENT] < TURNTABLE_AUTH_RELEASE"); while (reader.Position < reader.Length) { ReleaseAuthority authReset = reader.ReadSerializable <ReleaseAuthority>(); TurntableController turntable = turntables.FirstOrDefault(j => j.transform.position == authReset.Position + WorldMover.currentMove); if (turntable) { NetworkTurntableSync sync = turntable.GetComponent <NetworkTurntableSync>(); sync.IsAnyoneInControlArea = false; sync.playerAuthId = 0; } } } }
private void OnTurntableReleaseAuth(Message message, IClient client) { using (DarkRiftReader reader = message.GetReader()) { ReleaseAuthority info = reader.ReadSerializable <ReleaseAuthority>(); Turntable turntable = turntableStates.FirstOrDefault(t => t.Position == info.Position); if (turntable != null) { turntable.playerAuthId = 0; } } Logger.Trace("[SERVER] > TURNTABLE_AUTH_RELEASE"); ReliableSendToOthers(message, client); }