51 lines
1.8 KiB
C#
51 lines
1.8 KiB
C#
using DG.Tweening;
|
|
using ET.EventType;
|
|
using ET;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using FairyGUI;
|
|
|
|
namespace ET
|
|
{
|
|
public class UpdateHeadInfo_ChangeMaxExpEvent : AEvent_Sync<UpdateHeadInfo_ChangeMaxExp>
|
|
{
|
|
public static long GetMaxExpByLevel(int jobType,int level)
|
|
{
|
|
Cal.DataTable.RoleGrowth roleGrowth = DataTableHelper.Get<Cal.DataTable.RoleGrowth>(jobType);
|
|
if (roleGrowth == null)
|
|
{
|
|
Log.Error($"roleGrowth == null");
|
|
return long.MaxValue;
|
|
}
|
|
long needExp = (int)(roleGrowth.ExpArr[0].Exp_BaseNumber * UnityEngine.Mathf.Pow(level, roleGrowth.ExpArr[0].Exp_Power));
|
|
return needExp;
|
|
}
|
|
public override void Run(UpdateHeadInfo_ChangeMaxExp args)
|
|
{
|
|
long id = args.unit.Id;
|
|
int level = args.level;
|
|
float tweenTime = 0.4f;
|
|
long maxExp = GetMaxExpByLevel((GlobalVariable.JobId + 1) / 2,level);
|
|
//!玩家的UI
|
|
if (id == GlobalVariable.MyId)
|
|
{
|
|
if (!(FUIComponent.Instance.Get(FUIPackage.Common_MainUI) is FUI_MainUI ui))
|
|
{
|
|
return;
|
|
}
|
|
GProgressBar hpBar = ui.m_mineHeadInfo.m_pBarExp;
|
|
DOTween.To(() => (float)hpBar.max, x => hpBar.max = x, maxExp, tweenTime).SetEase(Ease.InOutQuad);
|
|
}
|
|
else
|
|
{
|
|
//!队友的UI
|
|
if (UpdateTeamHeadInfoEvent.TeamMemberHeadInfoDic.TryGetValue(id, out FUI_HeadInfoItem ui))
|
|
{
|
|
GProgressBar hpBar = ui.m_pBarExp;
|
|
DOTween.To(() => (float)hpBar.max, x => hpBar.max = x, maxExp, tweenTime).SetEase(Ease.InOutQuad);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|