2025-07-17 18:26:28 +08:00

48 lines
1.7 KiB
C#

using UnityEngine;
using TMPro;
using Animancer;
using Logic;
using RuntimeData;
using UnityEngine.UI;
using System.Collections.Generic;
public class WinUI
{
private Main _main;
private MapData _mapData;
public GameObject ROWinUI;
public Button ReturnButton;
public WinUI(Main main, MapData mapData)
{
_main = main;
_mapData = mapData;
ROWinUI = UIManager.Instance.ROUIManager.transform.Find("WinPanel").gameObject;
ROWinUI.gameObject.SetActive(false);
ReturnButton = ROWinUI.transform.Find("MsgList/Row4/Button").GetComponent<Button>(); // ← 新增按钮
ReturnButton.onClick.AddListener(OnReturnClicked); // ← 新增点击监听
}
public void Update()
{
if (ROWinUI.activeSelf)
return;
if (_mapData == null)
return;
if (_mapData.PlayerMap.CheckSelfWin())
{
ROWinUI.transform.Find("MsgList/Row1/Head1/Text").GetComponent<TextMeshProUGUI>().text = _mapData.GetCityCount(_mapData.PlayerMap.SelfPlayerData.Id).ToString();
ROWinUI.transform.Find("MsgList/Row2/Head1/Text").GetComponent<TextMeshProUGUI>().text = "0";
ROWinUI.transform.Find("MsgList/Row3/Head1/Text").GetComponent<TextMeshProUGUI>().text = _mapData.PlayerMap.SelfPlayerData.PlayerScore.ToString();
ROWinUI.gameObject.SetActive(true);
}
// 如果没有正在显示,并且有排队的消息,就开始显示
}
public void OnReturnClicked()
{
_main.GameLogic.ChangeState(GameState.Finished);
ROWinUI.gameObject.SetActive(false);
UIManager.Instance.GameUI.ShowMainUIManager();
}
}