private void UpdateUserListUI() { if (connected) { userButtonMap.Clear(); int i = 0; foreach (var player in PhotonNetwork.PlayerList) { // skip self if (player == PhotonNetwork.LocalPlayer) { continue; } var button = buttonArray[i]; PlayerStatsBrief stats = new PlayerStatsBrief( player.NickName, (string)player.CustomProperties["Favors"], (int)player.CustomProperties["Wins"], (int)player.CustomProperties["Losses"] ); button.gameObject.SetActive(true); // Switch button on button.SetButtonText(stats); // TODO: get real user stats userButtonMap[player.NickName] = i; // map name to index for retrieval later on // iterate until the capacity of userArray is reached if (++i == buttonArray.Length) { break; } } totalOpponents = i; // disable unused buttons for (; i < buttonArray.Length; i++) { buttonArray[i].gameObject.SetActive(false); } } else { // hide buttons foreach (var user in buttonArray) { user.gameObject.SetActive(false); } } UpdateUserListLabel(); }
public void SetButtonText(PlayerStatsBrief stats) { playerName = stats.PlayerName; nameText.text = stats.PlayerName; statsText.text = "Wins\t" + stats.Wins.ToString() + "\n" + "Losses\t" + stats.Losses.ToString() + "\n" + "Favors\t" + stats.FavoriteWeapon.ToString(); }