NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/UIFightClockDynamicControll...

121 lines
2.8 KiB
C#

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<Sprite>(path);
Image_ClockNum1.sprite = AssetManager.Instance.GetPreLoadResult<Sprite>(LevelUIManager.GetNumberImage(min));
}
else
{
int minTen = GetNumberBit(min, true);
int minBit = GetNumberBit(min);
Image_ClockNum0.sprite = AssetManager.Instance.GetPreLoadResult<Sprite>(LevelUIManager.GetNumberImage(minTen));
Image_ClockNum1.sprite = AssetManager.Instance.GetPreLoadResult<Sprite>(LevelUIManager.GetNumberImage(minBit));
}
Image_ClockNum2.sprite = AssetManager.Instance.GetPreLoadResult<Sprite>(LevelUIManager.GetNumberImage(secTen));
Image_ClockNum3.sprite = AssetManager.Instance.GetPreLoadResult<Sprite>(LevelUIManager.GetNumberImage(secBit));
}
//获取十位或个位
int GetNumberBit(int num, bool isTen = false)
{
if (isTen)
{
return num / 10;
}
return num - num / 10 * 10;
}
}