using UnityEngine; using UnityEngine.UI; public class HeroDebutRankCell : MonoBehaviour { [SerializeField] AvatarCell avatarCell; [SerializeField] Text rankText; [SerializeField] Text rankValueText; //排名比较内容 [SerializeField] Text nameText; [SerializeField] OfficialTitleCell officialTitleCell; [SerializeField] Button queryPlayerBtn; //后续添加点击查看玩家详情 HeroDebutManager manager => HeroDebutManager.Instance; // rank 为0 代表玩家自己 public void Display(int rankType, int rank, string valueFormat) { var act = manager.GetOperationHeroAppearInfo(); if (act == null) return; var config = ActHeroAppearConfig.Get(act.CfgID); if (config == null) return; int billTempID = config.BillTempID; var awardConfig = ActBillboardAwardConfig.GetConfig(billTempID, rank); RankData rankData = null; int viewPlayerId = (int)PlayerDatas.Instance.baseData.PlayerID; if (rank != 0) { rankData = RankModel.Instance.GetRankDataByRank(rankType, rank); } else { rankData = RankModel.Instance.GetMyRank(rankType); if (rankData == null) { //取玩家自己的数据 avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID, PlayerDatas.Instance.baseData.face, PlayerDatas.Instance.baseData.facePic)); rankText.text = Language.Get("L1045"); rankValueText.text = awardConfig == null || awardConfig.NeedValue == 0 ? "0" : Language.Get("HeroDebut27", awardConfig.NeedValue); nameText.text = PlayerDatas.Instance.baseData.PlayerName; officialTitleCell.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID); return; } rank = rankData.rank; } if (rankData == null) { officialTitleCell.SetActive(false); avatarCell.SetActive(false); nameText.text = Language.Get("L1124"); rankValueText.text = awardConfig == null || awardConfig.NeedValue == 0 ? "0" : Language.Get("HeroDebut27", awardConfig.NeedValue); } else { officialTitleCell.SetActive(true); officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2); avatarCell.SetActive(true); avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)rankData.id, (int)rankData.value3, (int)rankData.value4)); viewPlayerId = (int)rankData.id; nameText.text = rankData.name1; rankValueText.text = string.Format(valueFormat, UIHelper.ReplaceLargeNum(rankData.cmpValue)); } rankText.text = rank.ToString(); if (queryPlayerBtn != null) { queryPlayerBtn.AddListener(() => { AvatarHelper.TryViewOtherPlayerInfo(viewPlayerId); }); } } }