82 lines
2.7 KiB
C#
82 lines
2.7 KiB
C#
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<TextMeshProUGUI>();
|
|
_faith = ROTopBarUI.transform.Find("FaithPanel/Text").GetComponent<TextMeshProUGUI>();
|
|
_turn = ROTopBarUI.transform.Find("TurnPanel/Text").GetComponent<TextMeshProUGUI>();
|
|
|
|
_isShow = true;
|
|
|
|
}
|
|
|
|
public void ShowTurnHint()
|
|
{
|
|
var anim = ROTurnHint.GetComponent<AnimancerComponent>();
|
|
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<string>();
|
|
list.Add(turn.ToString());
|
|
Debug.Log(list[0]);
|
|
MultilingualManager.Instance.SetUIText(ROTurnHint.GetComponent<TextMeshProUGUI>(), list);
|
|
}
|
|
|
|
public void Update()
|
|
{
|
|
if(_isShow && ! ROTopBarUI.activeSelf)
|
|
ROTopBarUI.SetActive(true);
|
|
if (_showTurnHint)
|
|
{
|
|
_showTurnHint = false;
|
|
ShowTurnHint();
|
|
}
|
|
_money.text = _main.MapData.PlayerMap.SelfPlayerData.PlayerWealth +
|
|
" <color=yellow>+ " + Main.PlayerLogic.GetPlayerStarsPerTurn(_main.MapData, _main.MapData.PlayerMap.SelfPlayerData.Id) + "</color>";
|
|
_faith.text = _main.MapData.PlayerMap.SelfPlayerData.PlayerScore.ToString();
|
|
_turn.text = _main.MapData.PlayerMap.SelfPlayerData.Turn + "/30";
|
|
}
|
|
}
|