using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class PetHorseRankCell : CellView { [SerializeField] AvatarCell avatarCell; [SerializeField] Text rankText; [SerializeField] Transform rankTextObj; [SerializeField] Image rankImg; [SerializeField] Image rankBG; [SerializeField] Text nameText; [SerializeField] Text serverNameText; [SerializeField] Text numText; RankModel rankModel { get { return ModelCenter.Instance.GetModel(); } } PetHorseActModel model { get { return ModelCenter.Instance.GetModel(); } } public void Display(int index) { if (index < 3) { rankTextObj.SetActive(false); rankImg.SetActive(true); rankImg.SetSprite("actrank" + (index + 1)); rankImg.SetNativeSize(); rankBG.SetSprite("actrankBG" + (index + 1)); } else { rankTextObj.SetActive(true); rankImg.SetActive(false); rankText.text = (index + 1).ToString(); rankBG.SetSprite("actrankBGOther"); } RankData rankData = null; var rankInfo = rankModel.GetRankPageDatas(PetHorseActModel.rankList[model.SelectRank]); if (rankInfo != null && rankInfo.ContainsKey(index)) { rankData = rankInfo[index]; } if (rankData != null) { if (model.SelectRank == 1) { int serverID = UIHelper.GetServerIDByAccount(rankData.name2); string serverName = ServerListCenter.Instance.GetServerName(serverID); //本服玩家标记不同颜色 nameText.text = UIHelper.AppendColor(serverID == ServerListCenter.Instance.currentServer.region_flag ? TextColType.Green : TextColType.NavyBrown, rankData.name1, true); serverNameText.text = Language.Get("Z2002", serverName); } else { nameText.text = rankData.name1; serverNameText.text = string.Empty; } numText.text = rankData.cmpValue.ToString(); int playerID = model.GetPlayerId(rankData); avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)playerID, (int)rankData.value3, (int)rankData.value4, rankData.subType)); } else { int needScoreEx = 0; Dictionary rankAwardInfo = model.operationCrossAct.rankInfo; var dataIndex = model.GetRankDataIndex(index, rankAwardInfo); if (rankAwardInfo.ContainsKey(dataIndex)) needScoreEx = rankAwardInfo[dataIndex].needScore; nameText.text = Language.Get("L1046"); numText.text = needScoreEx == 0 ? "0" : Language.Get("RankInfo2") + needScoreEx; serverNameText.text = string.Empty; avatarCell.InitUI(AvatarHelper.GetDefaultAvatarModel()); } } } }