HAARFTE/Assets/DemoGame/GameScript/Hotfix/UI/Logic/MainUI.cs

61 lines
1.6 KiB
C#

using System;
using TMPro;
using Unity.Loader;
using UnityEngine;
using UnityEngine.UI;
namespace ZC
{
[UIType(UIType.MainUI)]
public class MainUI : UIBase
{
private Button btn_Start;
private TMP_Text txt_Score;
private TMP_Text txt_Progress;
private TMP_Text txt_Time;
private Action _action;
public override void Init()
{
base.Init();
btn_Start = GetValue<Button>("btn_Start");
txt_Score = GetValue<TMP_Text>("txt_Score");
txt_Progress = GetValue<TMP_Text>("txt_Progress");
txt_Time = GetValue<TMP_Text>("txt_Time");
btn_Start.onClick.AddListener(OnClickBtnStart);
Global.updateTime += UpdateTime;
Global.updateScore += UpdateScore;
Global.updateProgress += UpdateProgress;
UpdateTime(String.Empty);
}
private void UpdateTime(string obj)
{
var dateTime = System.DateTime.Now;
txt_Time.text = $"实训时间:{dateTime.Year}年{dateTime.Month}月{dateTime.Day}日";
}
private void UpdateScore(string obj)
{
txt_Score.text = $"实训成绩:{obj}";
}
private void UpdateProgress(string obj)
{
txt_Progress.text = $"实训进度:{obj}%";
}
private void OnClickBtnStart()
{
btn_Start.transform.localScale = Vector3.zero;
_action?.Invoke();
_action = null;
}
public void SetData(Action action)
{
_action = action;
}
}
}