public void SetPlayersWithoutHandicaps() { AllPlayers.Clear(); foreach (var dataViewPlayer in DataView.Players) { AllPlayers.Add(dataViewPlayer); } if (AllPlayers.Count > 0) { SelectedPlayer = AllPlayers[0]; OnPropertyChanged(nameof(SelectedPlayer)); } }
/// <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); }
// 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) }