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;
                }
            }
        }
    }
Beispiel #2
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);
        }