CTT/Unity/Assets/HotfixView/Event/UI/UpdateCharacterUIEvent.cs

65 lines
3.9 KiB
C#

using ET;
using ET.EventType;
namespace ET
{
public class UpdateCharacterUIEvent : AEvent<UpdateCharacterUI>
{
public override async ETTask Run(UpdateCharacterUI args)
{
var zoneScene = args.zoneScene;
var _attributeDic = CharacterUI.AttributeDic;
if (_attributeDic == null) return;
ClientUnitCharacter unitCharacter = ClientUnitCharacterComponent.Instance.Get(args.Id);
Unit unit = zoneScene.GetComponent<UnitComponent>().Get(args.Id);
if (!unit)
{
TipHelper.OpenUI("找不到玩家");
return;
}
NumericComponent num = unit.GetComponent<NumericComponent>();
_attributeDic["昵称"].text = unitCharacter.NickName;
_attributeDic["性别"].text = unitCharacter.Sex;
_attributeDic["阵营"].text = unitCharacter.Camp;
_attributeDic["荣誉值"].text = num.Get(NumericType.Honor).FloatToIntString();
_attributeDic["职业"].text = unitCharacter.Job;
_attributeDic["家族"].text = unitCharacter.Family;
_attributeDic["等级"].text = CharacterHelper.GetLevelString(unit);
_attributeDic["经验"].text = num.Get(NumericType.Exp).FloatToIntString();
_attributeDic["力量"].text = num.Get(NumericType.Str).FloatToIntString();
_attributeDic["智慧"].text = num.Get(NumericType.Wim).FloatToIntString();
_attributeDic["体质"].text = num.Get(NumericType.Phy).FloatToIntString();
_attributeDic["耐力"].text = num.Get(NumericType.Sta).FloatToIntString();
_attributeDic["敏捷"].text = num.Get(NumericType.Quk).FloatToIntString();
_attributeDic["精神"].text = num.Get(NumericType.Spi).FloatToIntString();
_attributeDic["生命"].text = $"{num.Get(NumericType.Hp).FloatToIntString()}/{ num.Get(NumericType.MaxHp).FloatToIntString()}";
_attributeDic["精力"].text = $"{num.Get(NumericType.Mp).FloatToIntString()}/{num.Get(NumericType.MaxMp).FloatToIntString()}";
_attributeDic["物理攻击"].text = num.Get(NumericType.PhyAtk).FloatToIntString();
_attributeDic["精神攻击"].text = num.Get(NumericType.SpiAtk).FloatToIntString();
_attributeDic["物理防御"].text = num.Get(NumericType.PhyDef).FloatToIntString();
_attributeDic["精神防御"].text = num.Get(NumericType.SpiDef).FloatToIntString();
_attributeDic["物理暴击率"].text = num.Get(NumericType.Pcrir).FloatToPercentString();
_attributeDic["精神暴击率"].text = num.Get(NumericType.Mcrir).FloatToPercentString();
_attributeDic["物理暴击值"].text = num.Get(NumericType.Pcri).FloatToPercentString();
_attributeDic["精神暴击值"].text = num.Get(NumericType.Mcri).FloatToPercentString();
_attributeDic["抗物理暴击率"].text = num.Get(NumericType.Rpcrir).FloatToPercentString();
_attributeDic["抗精神暴击率"].text = num.Get(NumericType.Rmcrir).FloatToPercentString();
_attributeDic["抗物理暴击值"].text = num.Get(NumericType.Rpcri).FloatToPercentString();
_attributeDic["抗精神暴击值"].text = num.Get(NumericType.Rmcri).FloatToPercentString();
_attributeDic["物理免伤"].text = num.Get(NumericType.Nphyi).FloatToPercentString();
_attributeDic["精神免伤"].text = num.Get(NumericType.Nmeni).FloatToPercentString();
_attributeDic["辅助值"].text = num.Get(NumericType.Dvo).FloatToPercentString();
//!更新属性点
FUI_CharacterUI characterUI = FUIComponent.Instance.Get(FUIPackage.Character_CharacterUI)?.As<FUI_CharacterUI>();
if (characterUI)
{
characterUI.m_txtPoint.text = "属性点:" + unitCharacter.CharacterPoint;
}
await ETTask.CompletedTask;
}
}
}