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<RankModel>(); } }
|
PetHorseActModel model { get { return ModelCenter.Instance.GetModel<PetHorseActModel>(); } }
|
|
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<int, ActBillboardAwards> 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());
|
}
|
|
}
|
}
|
}
|