using vnxbqy.UI;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class ImpactBillRankCell : ScrollerUI
|
{
|
[SerializeField] Button m_RankBtn;
|
[SerializeField] Image m_RankNumImg;
|
[SerializeField] Text m_RankTxt;
|
[SerializeField] Text m_NameTxt;
|
[SerializeField] Text m_Compare;
|
[SerializeField] Image m_CompareImg;
|
|
private RankModel m_RankModel;
|
private RankModel rankModel
|
{
|
get
|
{
|
return m_RankModel ?? (m_RankModel = ModelCenter.Instance.GetModel<RankModel>());
|
}
|
}
|
|
private RoleParticularModel m_RoleParticularModel;
|
private RoleParticularModel particularModel
|
{
|
get
|
{
|
return m_RoleParticularModel ?? (m_RoleParticularModel = ModelCenter.Instance.GetModel<RoleParticularModel>());
|
}
|
}
|
|
ImpactRankModel model { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
|
|
public override void Refresh(CellView cell)
|
{
|
rankModel.ListenRankPage((int)model.presentBillRankType, cell.index);
|
int index = cell.index;
|
m_RankNumImg.SetActive(index < 3);
|
m_RankTxt.SetActive(index >= 3);
|
if (index < 3)
|
{
|
m_RankNumImg.SetSprite(index == 0 ? "Rank_First" : index == 1 ? "Rank_Second" : "Rank_Third");
|
|
}
|
else
|
{
|
m_RankTxt.text = (index + 1).ToString();
|
}
|
|
RankData data = null;
|
|
var datas = rankModel.GetRankPageDatas((int)model.presentBillRankType);
|
if (datas != null && datas.ContainsKey(index))
|
{
|
data = datas[index];
|
}
|
|
m_Compare.SetActive(true);
|
m_CompareImg.SetActive(false);
|
if (data != null)
|
{
|
m_NameTxt.text = data.name1;
|
switch ((RankType)data.type)
|
{
|
case RankType.OpenServerRealm:
|
m_Compare.SetActive(data.cmpValue == 0);
|
m_CompareImg.SetActive(data.cmpValue > 0);
|
var _realmCfg = RealmConfig.Get((int)data.cmpValue);
|
if (_realmCfg != null)
|
{
|
m_CompareImg.SetSprite(_realmCfg.Img);
|
m_CompareImg.SetNativeSize();
|
}
|
break;
|
case RankType.OpenServerRecharge:
|
m_Compare.text = (data.cmpValue / 100).ToString();
|
break;
|
default:
|
m_Compare.text = data.cmpValue.ToString();
|
break;
|
}
|
m_RankBtn.onClick.RemoveAllListeners();
|
m_RankBtn.onClick.AddListener(() =>
|
{
|
if (data.id == PlayerDatas.Instance.baseData.PlayerID)
|
{
|
SysNotifyMgr.Instance.ShowTip("SeePlayer_Cannot");
|
return;
|
}
|
particularModel.ViewRoleEquip((int)data.id);
|
});
|
}
|
else
|
{
|
m_NameTxt.text = Language.Get("L1046");
|
m_Compare.text = "-";
|
}
|
}
|
}
|
}
|