Files

82 lines
1.8 KiB
C#
Raw Permalink Normal View History

2026-06-04 15:09:10 +03:00
using System.Text;
using UnityEngine;
using UnityEngine.UI;
public class TerritoryUI : MonoBehaviour
{
public Text playerPointsText;
public Text enemyPointsText;
public Text zoneStatusText;
public GameObject winPanel;
public Text winText;
private readonly StringBuilder zoneStatusBuilder = new StringBuilder();
public void UpdateZoneStatus(CaptureZone[] zones)
{
if (zoneStatusText == null || zones == null)
{
return;
}
zoneStatusBuilder.Length = 0;
for (int i = 0; i < zones.Length; i++)
{
CaptureZone zone = zones[i];
if (zone == null)
{
continue;
}
int percent = Mathf.RoundToInt(zone.GetProgress() * 100f);
zoneStatusBuilder.Append(zone.zoneName)
.Append(": ")
.Append(zone.GetOwner())
.Append(", ")
.Append(percent)
.Append('%');
if (i < zones.Length - 1)
{
zoneStatusBuilder.AppendLine();
}
}
zoneStatusText.text = zoneStatusBuilder.ToString();
}
public void ShowGameOver(string message)
{
if (winPanel != null)
{
winPanel.SetActive(true);
}
if (winText != null)
{
winText.text = message;
}
}
public void HideGameOver()
{
if (winPanel != null)
{
winPanel.SetActive(false);
}
}
public void SetScore(int playerScore, int enemyScore)
{
if (playerPointsText != null)
{
playerPointsText.text = "Player Points: " + playerScore;
}
if (enemyPointsText != null)
{
enemyPointsText.text = "Enemy Points: " + enemyScore;
}
}
}