public bool ToggleScoreboard() { scoreboardCanvas.enabled = !scoreboardCanvas.enabled; if (scoreboardCanvas.enabled) { List <Scoreboard.Playerdata> data = Scoreboard.instance.GetScoreBoard(); for (int i = 0; i < data.Count; i++) { GameObject item = Instantiate(scoreboardItemPrefab, scoreboardItemPrefab.transform.position, scoreboardItemPrefab.transform.rotation); scoreboardItemInstances.Add(item); ScoreboardItem scoreboardItem = item.GetComponent <ScoreboardItem>(); scoreboardItem.playerName.text = data[i].name; scoreboardItem.playerKills.text = data[i].kills.ToString(); scoreboardItem.playerDeaths.text = data[i].deaths.ToString(); item.transform.SetParent(contentPanel, false); } } else { for (int i = 0; i < scoreboardItemInstances.Count; i++) { // We need to destroy the scoreboard items we instantiated Destroy(scoreboardItemInstances[i]); } } return(scoreboardCanvas.enabled); }
private void OnEnable() { foreach (Player player in GameManager.PlayerList) { ScoreboardItem scoreboardItem = Instantiate(scoreboardItemPrefab, scoreboardParent); scoreboardItem.Set(player); } }
public static Scoreboard ToData(this ScoreboardItem dto, float rating) { return(new Scoreboard { Name = dto.name, Deaths = dto.deaths, Frags = dto.deaths, Kills = dto.kills, Rating = rating }); }
void Awake() { _maxNumber = 1; for (int i = 0; i < Count; i++) { GameObject itemObj = Instantiate(TemplateItem); ScoreboardItem scoreboardItem = itemObj.GetComponent <ScoreboardItem>(); itemObj.transform.SetParent(transform, false); _itemList.Add(scoreboardItem); _numberList.Add(0); _maxNumber *= 10; } _maxNumber -= 1; TemplateItem.gameObject.SetActive(false); }
private void OnEnable() { CarHealthManager[] Drivers = GameManager.instance.getallDrivers(); HealthManager[] Shooters = GameManager.instance.getallPlayers(); foreach (HealthManager shooter in Shooters) { GameObject itemGo = (GameObject)Instantiate(playerScoreBoardItem, playerList); ScoreboardItem item = itemGo.GetComponent <ScoreboardItem>(); item.setup(shooter.nickName, shooter.Kills, shooter.Team, shooter.Color, shooter.getLost()); } foreach (CarHealthManager driver in Drivers) { GameObject itemGo = (GameObject)Instantiate(playerScoreBoardItem, playerList); ScoreboardItem item = itemGo.GetComponent <ScoreboardItem>(); item.setup(driver.nickName, driver.Score, driver.Team, driver.Color, driver.Exploded); } }
/// <summary> /// 设置目标数字 /// </summary> public void SetNumber(int number) { number = Mathf.Clamp(number, 0, _maxNumber); bool isIncreasing = number > Number; Number = number; int unit = Count - 1; // 位 while (unit >= 0) { _numberList[unit--] = number % 10; number /= 10; } for (int i = 0; i < _numberList.Count; i++) { ScoreboardItem item = _itemList[i]; item.SetNumber(_numberList[i], 1f, isIncreasing); } }
public ServerMatche() { Scoreboard = new ScoreboardItem[0]; }
public MatcheResult() { Scoreboard = new ScoreboardItem[0]; }
private void RefreshScoreboard() { ScoreboardPlayer[] tmp = scores.ToArray(); Array.Sort(tmp, (IComparer) new SyncListScoreboardPlayer.ScoreboardPlayerComparer()); // Sort, then put up //foreach (ScoreboardPlayer scoreboardPlayer in tmp) for (int i = 0; i < scores.Count; i++) { ScoreboardPlayer scoreboardPlayer = tmp[i]; Transform foundItem; if ((foundItem = parentGroup.Find(scoreboardPlayer.id.ToString())) == null) { // Make a new UI item foundItem = GameObject.Instantiate(scoreboardItemPrefab, parentGroup).transform; } // Update foundItem.SetSiblingIndex(i); ScoreboardItem scoreboardItem = foundItem.GetComponent <ScoreboardItem>(); scoreboardItem.gameObject.name = scoreboardPlayer.id.ToString(); scoreboardItem.nameText.text = scoreboardPlayer.name; scoreboardItem.score.text = scoreboardPlayer.kills.ToString(); scoreboardItem.assists.text = scoreboardPlayer.assists.ToString(); scoreboardItem.deaths.text = scoreboardPlayer.deaths.ToString(); scoreboardItem.ping.text = scoreboardPlayer.ping; scoreboardItem.id = scoreboardPlayer.id; scoreboardItem.classIcon.sprite = classSpritePrefabHolder[scoreboardPlayer.classId]; Color teamColor = Color.white; // All players are added, including spectators, who are not colored foreach (GameObject player in GameObject.FindGameObjectsWithTag("Player")) { //print(player.name + " " + player.GetComponent<NetworkBehaviour>().isLocalPlayer); BasePlayer basePlayer = player.GetComponent <BasePlayer>(); int playerId = basePlayer.GetComponent <PlayerInput>().GetPlayerId(); if (playerId == scoreboardPlayer.id) { scoreboardItem.referredItem = player; teamColor = basePlayer.GetComponent <PlayerStats>().teamColor; if (player.GetComponent <NetworkBehaviour>().isLocalPlayer) { // Is the local player scoreboardItem.nameText.fontStyle = FontStyle.Bold; // TODO make it a different color, better scoreboardItem.nameText.color = Color.black; } } } foreach (Image image in scoreboardItem.teamImages) { image.color = teamColor; } } foreach (ScoreboardItem scoreboardItem in parentGroup.GetComponentsInChildren <ScoreboardItem>()) { if (!scores.Find(scoreboardItem.id).found || (scoreboardItem.referredItem != null && !scoreboardItem.referredItem.activeInHierarchy)) { // Delete if not found GameObject.Destroy(scoreboardItem.gameObject); } } //print ("Score synclist size: " + scores.Count); }