61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
using TEngine;
|
||
using TMPro;
|
||
using DG.Tweening;
|
||
using Cysharp.Threading.Tasks;
|
||
|
||
namespace GameLogic
|
||
{
|
||
[Window(UILayer.UI)]
|
||
class UIPlayerAddNumItem : UIWidget
|
||
{
|
||
#region 脚本工具生成的代码
|
||
private TextMeshProUGUI m_tmp_addNum;
|
||
protected override void ScriptGenerator()
|
||
{
|
||
m_tmp_addNum = FindChildComponent<TextMeshProUGUI>("m_tmp_addNum");
|
||
}
|
||
#endregion
|
||
|
||
#region 事件
|
||
#endregion
|
||
|
||
|
||
protected override void OnCreate()
|
||
{
|
||
base.OnCreate();
|
||
|
||
// 实现字体的从小到大的变化、并且带有从0-1的透明变化
|
||
if (m_tmp_addNum != null)
|
||
{
|
||
// 初始缩放和透明
|
||
m_tmp_addNum.transform.localScale = Vector3.one * 0.2f;
|
||
var color = m_tmp_addNum.color;
|
||
color.a = 0f;
|
||
m_tmp_addNum.color = color;
|
||
|
||
// 动画:缩放到1,透明到1
|
||
float duration = 1f;
|
||
m_tmp_addNum.transform.DOScale(Vector3.one * 2, duration).SetEase(Ease.OutBack);
|
||
DOTween.To(
|
||
() => m_tmp_addNum.color.a,
|
||
a =>
|
||
{
|
||
var c = m_tmp_addNum.color;
|
||
c.a = a;
|
||
m_tmp_addNum.color = c;
|
||
},
|
||
1f, duration
|
||
).SetEase(Ease.OutQuad).OnComplete(async () =>
|
||
{
|
||
await UniTask.Delay(1000);
|
||
Destroy();
|
||
});
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|