using UnityEngine; using TMPro; using Animancer; using Logic; using RuntimeData; using UnityEngine.UI; using System.Collections.Generic; using Logic.Audio; using Logic.Multilingual; using TH1Renderer; using UnityEngine.Tilemaps; // 数据结构 public struct CenterMessageData { public UICenterMessageType Type; public bool HasChat; public string Title; //public string Type; public string Message; public Sprite Sprite; public string ChatBubbleText; public Color ChatBubblColor; public GridData StartGrid;//存储meetPlayer的时候, 是在哪个grid meet的 } public class CenterMessageUI { //用于帝国陨落的黑白图像 private Material _grayScaleMat; private Main _main; private MapData _mapData; public GameObject ROCenterMessageUI; private CanvasGroup canvasGroup; private Button button; public bool isShowingNow = false; private int _closeButtonMoney = 0; //存储正在显示的message如果有grid的话, private GridData _startGrid; //临时使用!!TODO 删除 public PlayerDataAssets PlayerData; private Queue _messageQueue = new Queue(); // 新增:排队系统 public CenterMessageUI(Main main, MapData mapData) { _main = main; _mapData = mapData; ROCenterMessageUI = UIManager.Instance.ROUIManager.transform.Find("CenterMessagePanel").gameObject; canvasGroup = ROCenterMessageUI.GetComponent(); for (int i = 0; i < ROCenterMessageUI.transform.childCount; i++) { Transform child = ROCenterMessageUI.transform.GetChild(i); if (child.name == "Button") { button = child.GetComponent