using UnityEngine.UI;
|
using UnityEngine;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
|
public class ArenaRankCell : ILBehaviour
|
{
|
Button rankBtn;
|
Image rankBg;
|
Image rankImgBg;
|
Text rankNumText;
|
Text textName;
|
Image realmImg;
|
Image m_CompareImg;
|
Text jobText;
|
Text rankWhat;
|
RectTransform m_ContainerNameMiddle;
|
RectTransform m_ContainerNameRight;
|
|
RankModel model { get { return ModelCenter.Instance.GetModel<RankModel>(); } }
|
RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
|
|
protected override void Awake()
|
{
|
rankBtn = proxy.GetWidgtEx<Button>("RankCell");
|
rankBg = proxy.GetWidgtEx<Image>("BG");
|
rankImgBg = proxy.GetWidgtEx<Image>("RankNumBottom");
|
|
rankNumText = proxy.GetWidgtEx<Text>("RankNum");
|
textName = proxy.GetWidgtEx<Text>("NameTxt");
|
|
realmImg = proxy.GetWidgtEx<Image>("RealmImg");
|
m_CompareImg = proxy.GetWidgtEx<Image>("Img_Compare");
|
|
jobText = proxy.GetWidgtEx<Text>("JobTxt");
|
rankWhat = proxy.GetWidgtEx<Text>("RankWhatTxt");
|
|
m_ContainerNameMiddle = proxy.GetWidgtEx<RectTransform>("ContainerNameMiddle");
|
m_ContainerNameRight = proxy.GetWidgtEx<RectTransform>("ContainerNameRight");
|
}
|
private void OnSelectRank(int index)
|
{
|
List<RankPageData> rankDatas = null;
|
if (ArenaRankModel.Instance.TryGetRanks(ArenaModel.Instance.RankType, out rankDatas))
|
{
|
if (index < rankDatas.Count)
|
{
|
if (rankDatas[index].id == PlayerDatas.Instance.baseData.PlayerID)
|
{
|
SysNotifyMgr.Instance.ShowTip("SeePlayer_Cannot");
|
return;
|
}
|
//是否是机器人
|
if(rankDatas[index].id > 10000)
|
{
|
roleParticularModel.ViewRoleEquip((int)rankDatas[index].id);
|
}
|
else
|
{
|
RoleParticularModel.ViewPlayerData m_ViewPlayerData = new RoleParticularModel.ViewPlayerData();
|
ArenaManagerModel.Instance.GetRobotViewPlayerData(rankDatas[index],out m_ViewPlayerData);
|
roleParticularModel.ViewFairyArenaRobot((int)rankDatas[index].id,m_ViewPlayerData);
|
}
|
|
}
|
}
|
}
|
public void Display(int index)
|
{
|
int tmp = index;
|
rankBtn.SetListener(() =>
|
{
|
OnSelectRank(tmp);
|
});
|
rankImgBg.SetActiveIL(index < 3);
|
rankNumText.SetActiveIL(index >= 3);
|
rankNumText.text = (index + 1).ToString();
|
if (index < 3)
|
{
|
rankImgBg.SetSprite(index == 0 ? "Rank_First" : index == 1 ? "Rank_Second" : "Rank_Third");
|
}
|
|
RankPageData data = null;
|
List<RankPageData> rankDatas = null;
|
ArenaRankModel.Instance.TryGetRanks(ArenaModel.Instance.RankType, out rankDatas);
|
|
if (rankDatas != null && index < rankDatas.Count)
|
{
|
data = rankDatas[index];
|
}
|
|
realmImg.SetActiveIL(false);
|
m_CompareImg.SetActiveIL(false);
|
textName.rectTransform.SetParent(model.selectRankType != (int)RankType.Realm ? m_ContainerNameRight : m_ContainerNameMiddle);
|
textName.rectTransform.localPosition = Vector3.zero;
|
rankWhat.SetActiveIL(true);
|
if (data != null)
|
{
|
if (data.id < 10000)
|
{
|
textName.text = ArenaModel.Instance.RobotName;
|
}
|
else
|
{
|
textName.text = data.name1;
|
}
|
|
string jobStr = data.subType.ToString();
|
int occupa = 1;
|
int.TryParse(jobStr[jobStr.Length - 1].ToString(), out occupa);
|
int classLv = 0;
|
int.TryParse(jobStr.Substring(0, jobStr.Length - 1), out classLv);
|
|
int level = (int)data.value2;
|
int realmLv = (int)data.value1;
|
if (data.id < 10000)
|
{
|
realmLv = ArenaModel.Instance.GetRealm(level);
|
}
|
|
if (PlayerDatas.Instance.baseData.PlayerID == data.id)
|
{
|
jobText.text = ArenaModel.Instance.playerInfo.Score.ToString();
|
//rankWhat.text = PlayerDatas.Instance.baseData.FightPoint.ToString();
|
}
|
else
|
{
|
jobText.text = data.cmpValue.ToString();
|
}
|
int fightpower = ArenaModel.Instance.GetLevel(level, 2); //fight
|
if(data.id < 10000)
|
{
|
rankWhat.text = UIHelper.ReplaceLargeNum(fightpower);
|
}
|
else
|
{
|
//rankWhat.text = data.cmpValue2.ToString();
|
ulong fight = data.cmpValue2;
|
fight = fight * Constants.ExpPointValue + data.cmpValue3;
|
rankWhat.text = fight.ToString();
|
}
|
|
RealmConfig presentCfg = RealmConfig.Get(realmLv);
|
if (realmLv > 0 && presentCfg != null)
|
{
|
realmImg.SetActiveIL(data.type != (int)RankType.Realm);
|
m_CompareImg.SetActiveIL(data.type == (int)RankType.Realm);
|
realmImg.SetSprite(presentCfg.Img);
|
realmImg.SetNativeSize();
|
m_CompareImg.SetSprite(presentCfg.Img);
|
m_CompareImg.SetNativeSize();
|
}
|
|
bool isSelf = data.id == PlayerDatas.Instance.PlayerId;
|
textName.color = UIHelper.GetUIColor(isSelf ? TextColType.DarkGreen : TextColType.NavyBrown);
|
jobText.color = UIHelper.GetUIColor(isSelf ? TextColType.DarkGreen : TextColType.NavyBrown);
|
rankWhat.color = UIHelper.GetUIColor(isSelf ? TextColType.DarkGreen : TextColType.NavyBrown);
|
}
|
else
|
{
|
textName.text = Language.Get("L1046");
|
jobText.text = "-";
|
rankWhat.text = "-";
|
|
textName.color = UIHelper.GetUIColor(TextColType.NavyBrown);
|
jobText.color = UIHelper.GetUIColor(TextColType.NavyBrown);
|
rankWhat.color = UIHelper.GetUIColor(TextColType.NavyBrown);
|
}
|
}
|
|
}
|
|