zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Unity/Assets/HotfixView/Event/UI/UpdateHeadInfo_ChangeMaxExp...

53 lines
1.9 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
using DG.Tweening;
using ET.EventType;
using ET;
using System;
using System.Collections.Generic;
2021-04-11 19:50:39 +08:00
using FairyGUI;
2021-04-08 20:09:59 +08:00
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;
var zoneScene = args.zoneScene;
long maxExp = GetMaxExpByLevel((zoneScene.GetComponent<GlobalVariable>().JobId + 1) / 2,level);
2021-04-08 20:09:59 +08:00
//!玩家的UI
if (id == zoneScene.GetComponent<GlobalVariable>().MyId)
2021-04-08 20:09:59 +08:00
{
if (!(FUIComponent.Instance.Get(FUIPackage.Common_MainUI) is FUI_MainUI ui))
{
return;
}
2021-04-11 19:50:39 +08:00
GProgressBar hpBar = ui.m_mineHeadInfo.m_pBarExp;
2021-04-08 20:09:59 +08:00
DOTween.To(() => (float)hpBar.max, x => hpBar.max = x, maxExp, tweenTime).SetEase(Ease.InOutQuad);
}
else
{
//!队友的UI
2021-04-11 19:50:39 +08:00
if (UpdateTeamHeadInfoEvent.TeamMemberHeadInfoDic.TryGetValue(id, out FUI_HeadInfoItem ui))
2021-04-08 20:09:59 +08:00
{
2021-04-11 19:50:39 +08:00
GProgressBar hpBar = ui.m_pBarExp;
2021-04-08 20:09:59 +08:00
DOTween.To(() => (float)hpBar.max, x => hpBar.max = x, maxExp, tweenTime).SetEase(Ease.InOutQuad);
}
}
}
}
}