104 lines
2.4 KiB
C#
104 lines
2.4 KiB
C#
// Felix-Bang:FBUICountDown
|
||
// へ /|
|
||
// /\7 ∠_/
|
||
// / │ / /
|
||
// │ Z _,< / /`ヽ
|
||
// │ ヽ / 〉
|
||
// Y ` / /
|
||
// イ● 、 ● ⊂⊃〈 /
|
||
// () へ | \〈
|
||
// >ー 、_ ィ │ //
|
||
// / へ / ノ<| \\
|
||
// ヽ_ノ (_/ │//
|
||
// 7 |/
|
||
// >―r ̄ ̄`ー―_
|
||
// Describe:关卡-倒计时
|
||
// Createtime:2018/9/28
|
||
|
||
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using FBFramework;
|
||
using UnityEngine.UI;
|
||
using System;
|
||
|
||
namespace FBApplication
|
||
{
|
||
public class FBUICountDown : FBView
|
||
{
|
||
#region 字段
|
||
[SerializeField]
|
||
private Image imgCount;
|
||
[SerializeField]
|
||
private Sprite[] sptNumbers;
|
||
#endregion
|
||
|
||
#region 属性
|
||
public override string Name
|
||
{
|
||
get { return FBConsts.V_CountDown; }
|
||
}
|
||
#endregion
|
||
|
||
#region 事件回调
|
||
public override void RegisterEvents()
|
||
{
|
||
EventLists.Add(FBConsts.E_SceneEnter);
|
||
}
|
||
|
||
public override void HandleEvent(string eventName, object data = null)
|
||
{
|
||
switch (eventName)
|
||
{
|
||
case FBConsts.E_SceneEnter:
|
||
FBSceneArgs e = (FBSceneArgs)data;
|
||
if (e.Index == 3)
|
||
StartCountDown();
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法
|
||
private void Show()
|
||
{
|
||
gameObject.SetActive(true);
|
||
}
|
||
|
||
private void Hide()
|
||
{
|
||
gameObject.SetActive(false);
|
||
}
|
||
|
||
public void StartCountDown()
|
||
{
|
||
Show();
|
||
StartCoroutine("DisplayCount");
|
||
}
|
||
|
||
IEnumerator DisplayCount()
|
||
{
|
||
int count = 3;
|
||
while (count > 0)
|
||
{
|
||
imgCount.sprite = sptNumbers[count - 1];
|
||
count--;
|
||
yield return new WaitForSeconds(1f);
|
||
|
||
if (count <= 0)
|
||
break;
|
||
}
|
||
|
||
Hide();
|
||
|
||
SendEvent(FBConsts.E_CountDownComplete);
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|
||
|