2025-09-24 11:24:38 +05:00

53 lines
1.3 KiB
C#

namespace TPSBR.UI
{
using UnityEngine;
using TMPro;
public class UIScoreboardItem : UIBehaviour
{
[SerializeField]
private TextMeshProUGUI _position;
[SerializeField]
private TextMeshProUGUI _nickname;
[SerializeField]
private TextMeshProUGUI _kills;
[SerializeField]
private TextMeshProUGUI _deaths;
[SerializeField]
private TextMeshProUGUI _score;
[SerializeField]
private TextMeshProUGUI _lives;
[SerializeField]
private CanvasGroup _deadIcon;
[SerializeField]
private CanvasGroup _normalBackground;
[SerializeField]
private CanvasGroup _localPlayerBackground;
public void SetData(PlayerStatistics statistics, string nickname, bool showLives, bool isLocal)
{
_position.text = $"#{statistics.Position}";
_nickname.text = nickname;
_kills.text = statistics.Kills.ToString("N0");
_deaths.text = statistics.Deaths.ToString("N0");
_score.text = statistics.Score.ToString("N0");
if (showLives == true)
{
_lives.SetActive(true);
_lives.text = statistics.IsEliminated == false ? statistics.ExtraLives.ToString() : "Eliminated";
}
else
{
_lives.SetActive(false);
}
_deadIcon.SetVisibility(statistics.IsAlive == false);
_normalBackground.SetVisibility(isLocal == false);
_localPlayerBackground.SetVisibility(isLocal == true);
}
}
}