using Cysharp.Threading.Tasks;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class GuildAtkDefBatPlayerTop3Cell : MonoBehaviour
|
{
|
[SerializeField] Text rankValueText; //战斗次数
|
[SerializeField] Text starCnt; //星数
|
[SerializeField] Text nameText;
|
[SerializeField] OfficialTitleCell officialTitleCell;
|
[SerializeField] Button queryPlayerBtn; //点击查看玩家详情
|
[SerializeField] HorseController model;
|
|
public void Display(HA525_tagSCFamilyAtkDefBatInfo.tagSCFamilyAtkDefBatMem data, int rank)
|
{
|
if (data == null)
|
{
|
rankValueText.text = "0";
|
nameText.text = Language.Get("L1124");
|
officialTitleCell.SetActive(false);
|
model.SetActive(false);
|
return;
|
}
|
|
officialTitleCell.SetActive(true);
|
officialTitleCell.InitUI((int)data.RealmLV, (int)data.TitleID);
|
|
starCnt.text = data.Star.ToString(); // 星数直接显示数字
|
rankValueText.text = Language.Get("GuildAtkDefBat36", data.BatCnt); // 战斗次数
|
nameText.text = data.Name;
|
|
// 角色模型与坐骑
|
model.SetActive(true);
|
int heroSkinID = ResolveHeroSkinID((int)data.ModelMark, (int)data.Job);
|
int horseSkinID = HorseManager.Instance.GetOtherPlayerHorseSkinID((int)data.EquipShowSwitch);
|
model.Create(horseSkinID, heroSkinID, rank == 1 ? 1f : 0.8f);
|
|
queryPlayerBtn.SetListener(() =>
|
{
|
AvatarHelper.TryViewOtherPlayerInfo((int)data.PlayerID, (int)data.ServerID, viewPlayerLineupType: (int)BattlePreSetType.GuildAtkDefBat);
|
});
|
}
|
|
/// <summary>
|
/// 根据 ModelMark 和 Job 解析英雄皮肤ID
|
/// </summary>
|
int ResolveHeroSkinID(int modelMark, int job)
|
{
|
if (modelMark == 0)
|
{
|
PhantasmPavilionManager.Instance.TryGetDefaultID(PhantasmPavilionType.Model, job, out modelMark);
|
}
|
|
if (!ModelConfig.HasKey(modelMark))
|
return 0;
|
|
var modelConfig = ModelConfig.Get(modelMark);
|
return modelConfig.SkinID;
|
}
|
}
|