using DG.Tweening; using ET.EventType; using ET; using System; using System.Collections.Generic; using FairyGUI; namespace ET { public class UpdateHeadInfo_ChangeMpEvent : AEvent_Sync { public override void Run(UpdateHeadInfo_ChangeMp args) { long id = args.unit.Id; float tweenTime; var zoneScene = args.zoneScene; //!玩家的UI if (id == zoneScene.GetComponent().MyId) { if (!(FUIComponent.Instance.Get(FUIPackage.Common_MainUI) is FUI_MainUI ui)) { return; } GProgressBar hpBar = ui.m_mineHeadInfo.m_pbarMp; 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 FUI_HeadInfoItem ui)) { GProgressBar hpBar = ui.m_pbarMp; 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); } } } } }