121 lines
2.8 KiB
C#
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;
|
|
}
|
|
} |