public void SetPlayersWithoutHandicaps()
        {
            AllPlayers.Clear();

            foreach (var dataViewPlayer in DataView.Players)
            {
                AllPlayers.Add(dataViewPlayer);
            }

            if (AllPlayers.Count > 0)
            {
                SelectedPlayer = AllPlayers[0];
                OnPropertyChanged(nameof(SelectedPlayer));
            }
        }
示例#2
0
    /// <summary>
    /// Updates <see cref="AllPlayers"/> with any new players that have been added to the scene
    /// </summary>
    public void UpdateAllClients()
    {
        if (AllPlayers == null)
        {
            AllPlayers = new Dictionary <Player, PlayerState>();
        }
        else
        {
            AllPlayers.Clear();
        }


        PlayerState[] playersInScene = FindObjectsOfType <PlayerState>();
        foreach (PlayerState np in playersInScene)
        {
            Player p = np.PhotonView.Owner;
            AllPlayers.Add(p, np);

            //Player previousMaster = MasterPlayer;

            if (p.IsMasterClient)
            {
                MasterPlayer = p;
            }
            if (p.IsLocal)
            {
                LocalPlayer = p;
            }

            //if(previousMaster == p && MasterPlayer != p)
            //{
            //    //We are no longer master!
            //    Debug.LogWarning($"Local is no longer {nameof(MasterPlayer)}. {MasterPlayer} is the new {nameof(MasterPlayer)}", this);
            //    //TODO potentially need to surrender observables.
            //}

            //if(p.IsMasterClient && p.IsLocal)
            //{
            //    //We are now the master!
            //    //TOOD Add enemies to observables.
            //}
        }
        UpdatePlayerReferences(playersInScene);
    }
示例#3
0
 // Stops a game and resets all variables
 public void StopGame()
 {
     StopRoundTimer();
     StopGenericTimer();
     Round               = Team1Score = Team2Score = 0;
     RoundResult         = 0;
     CurrentCurePosition = -1;
     AllPlayers.Clear();
     Team1.Clear();
     Team2.Clear();
     Cure.Clear();
     PlayedMinigames.Clear();
     Team1Lead          = Team2Lead = null;
     VoiceChannel       = null;
     CurrentMinigame    = null;
     RoundInProgress    = GenericTimerActive = false;
     LastColorIndexUsed = -1;
     LastColorUsed      = DiscordColor.None;
 }
 public void ClearPlayers()
 {
     AllPlayers.Clear();
     zanversePlayerVM = null; //whoops : v)
 }