39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
|
using ET;
|
|||
|
using DG.Tweening;
|
|||
|
using ET.EventType;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace ET
|
|||
|
{
|
|||
|
public class UpdateHeadInfo_ChangeHpEvent : AEvent_Sync<UpdateHeadInfo_ChangeHp>
|
|||
|
{
|
|||
|
|
|||
|
public override void Run(UpdateHeadInfo_ChangeHp args)
|
|||
|
{
|
|||
|
long id = args.unit.Id;
|
|||
|
float tweenTime;
|
|||
|
//!玩家的UI
|
|||
|
if (id == GlobalVariable.MyId)
|
|||
|
{
|
|||
|
if (!(FUIComponent.Instance.Get(FUIPackage.Common_MainUI) is FUI_MainUI ui))
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
var hpBar = ui.m_mineHeadInfo.m_pBarHp;
|
|||
|
tweenTime = (float)((4 / MathHelper.Max(hpBar.max,MathHelper.Max(args.old,args.value))) * MathHelper.Abs(args.old - args.value));
|
|||
|
DOTween.To(() => (float)hpBar.value, x => hpBar.value =x, args.value, tweenTime).SetEase(Ease.InOutQuad);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//!队友的UI
|
|||
|
if (UpdateTeamHeadInfoEvent.TeamMemberHeadInfoDic.TryGetValue(id, out var ui))
|
|||
|
{
|
|||
|
var hpBar = ui.m_pBarHp;
|
|||
|
tweenTime = (float)((4 / MathHelper.Max(hpBar.max, MathHelper.Max(args.old, args.value))) * MathHelper.Abs(args.old - args.value));
|
|||
|
DOTween.To(() => (float)hpBar.value, x => hpBar.value = x, args.value, tweenTime).SetEase(Ease.InOutQuad);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|