Beispiel #1
0
        internal void RemovePlayer(Player player)
        {
            if (player.Id == 0)
            {
                Debug.LogWarning("Player disconnected with id 0. They probably didn't finish connecting");
            }
            else
            {
                Player oplayer;
                _players.TryGetValue(player.Id, out oplayer);
                if (oplayer != player)
                {
                    Debug.Log($"Finished removing player {player} over contention with id {player.Id}");
                }
                else
                {
                    _players.Remove(player.Id);
                    PlayerCount--;
                }

                try
                {
                    PlayerRemoved.Raise(player);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                }
            }
        }