using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using UnityEngine.UIElements; using Button = UnityEngine.UI.Button; using Image = UnityEngine.UI.Image; using Toggle = UnityEngine.UI.Toggle; using ScrollView = PhxhSDK.PhxhScrollView; using Framework; using Gameplay.Level; using PhxhSDK; public class UIFightClockDynamicController : UIWindow { //UI GameObj ///Auto Gen Start/// public Image Image_Battle_ClockBG; public Image Image_ClockPause; public Image Image_ClockNum0; public Image Image_ClockNum1; public Image Image_ClockNum2; public Image Image_ClockNum3; public TMP_Text Text_FightStatus; public Image Image_Ruler_MM; public Image Image_Ruler_SS; ///Auto Gen End/// // deal with input data public override void PreLoad(object data = null) { } // Use this for initialization public override void OnInit() { //bind UI GameObj UIFightClockDynamicBinder.GetComponents(this); } //invoke when open window protected override void OnShowWindow(object data = null) { InitTimer(); } //invoke when reload window protected override void OnReloadWindow(object data = null) { } //invoke when close window protected override void OnHideWindow() { } //invoke when destroy public override void OnRelease() { base.OnRelease(); } protected override void OnUpdate(float dt) { base.OnUpdate(dt); if (LevelManager.Instance.CurrentLevel == null) { return; } if (LevelManager.Instance.CurrentLevel.IsInBattle()) { UpdateTimerUI(); } } private void InitTimer() { //TeamManager.Instance.InitFightTime(); UpdateTimerUI(); } private void UpdateTimerUI() { int min = TeamManager.Instance.GetFightPastMinute(); int second = TeamManager.Instance.GetFightPastSecond(); int secTen = GetNumberBit(second, true); int secBit = GetNumberBit(second); if (min < 10) { string path = LevelUIManager.GetNumberImage(0); Image_ClockNum0.sprite = AssetManager.Instance.GetPreLoadResult(path); Image_ClockNum1.sprite = AssetManager.Instance.GetPreLoadResult(LevelUIManager.GetNumberImage(min)); } else { int minTen = GetNumberBit(min, true); int minBit = GetNumberBit(min); Image_ClockNum0.sprite = AssetManager.Instance.GetPreLoadResult(LevelUIManager.GetNumberImage(minTen)); Image_ClockNum1.sprite = AssetManager.Instance.GetPreLoadResult(LevelUIManager.GetNumberImage(minBit)); } Image_ClockNum2.sprite = AssetManager.Instance.GetPreLoadResult(LevelUIManager.GetNumberImage(secTen)); Image_ClockNum3.sprite = AssetManager.Instance.GetPreLoadResult(LevelUIManager.GetNumberImage(secBit)); } //获取十位或个位 int GetNumberBit(int num, bool isTen = false) { if (isTen) { return num / 10; } return num - num / 10 * 10; } }