using System.Collections.Generic; using Animancer; using UnityEngine; using TMPro; using Logic; using RuntimeData; using Logic.Multilingual; using TH1Resource; public class TopBarUI { private Main _main; private MapData _mapData; public GameObject ROTopBarUI; public GameObject ROTurnHint; //标记,是否显示回合提示 private bool _showTurnHint; private TextMeshProUGUI _money; private TextMeshProUGUI _faith; private TextMeshProUGUI _turn; //-------- UI层RenderData -------// public bool RenderMark = false; public bool _isShow = false; public TopBarUI(Main main,MapData mapData) { _main = main; _mapData = mapData; ROTopBarUI = UIManager.Instance.ROUIManager.transform.Find("TopBarPanel").gameObject; ROTurnHint = ROTopBarUI.transform.Find("TurnHint").gameObject; _money = ROTopBarUI.transform.Find("MoneyPanel/Text").GetComponent(); _faith = ROTopBarUI.transform.Find("FaithPanel/Text").GetComponent(); _turn = ROTopBarUI.transform.Find("TurnPanel/Text").GetComponent(); _isShow = true; } public void ShowTurnHint() { var anim = ROTurnHint.GetComponent(); if (anim == null) return; ROTurnHint.SetActive(true); anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn); Timer.Instance.TimerRegister(this, () => { anim.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut); },1.5f); Timer.Instance.TimerRegister(this, () => { ROTurnHint.SetActive(false); },1.5f + ResourceCache.Instance.AnimCache.UICommonPanelFadeOut.length); } public void SetShowTurnHint(int turn) { _showTurnHint = true; var list = new List(); list.Add(turn.ToString()); MultilingualManager.Instance.SetUIText(ROTurnHint.transform.Find("Text").GetComponent(), list); } public void Update() { if(_isShow && ! ROTopBarUI.activeSelf) ROTopBarUI.SetActive(true); if (_showTurnHint) { _showTurnHint = false; ShowTurnHint(); } _money.text = Main.MapData.PlayerMap.SelfPlayerData.PlayerWealth + " + " + Main.PlayerLogic.GetPlayerStarsPerTurn(Main.MapData, Main.MapData.PlayerMap.SelfPlayerData.Id) + ""; _faith.text = Main.MapData.PlayerMap.SelfPlayerData.PlayerScore.ToString(); _turn.text = Main.MapData.PlayerMap.SelfPlayerData.Turn.ToString();// + "/30"; } }