using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
public class PetHorseRankAwardActCell : CellView
|
{
|
[SerializeField] Text rankText;
|
[SerializeField] ItemCell[] items;
|
[SerializeField] Transform rankTextObj;
|
[SerializeField] Image rankImg;
|
[SerializeField] Image rankBG;
|
[SerializeField] ItemCell[] itemsEx;
|
[SerializeField] Text needScore;
|
[SerializeField] Text needScoreEx;
|
|
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);
|
rankBG.SetSprite("actrankBGOther");
|
}
|
|
Dictionary<int, ActBillboardAwards> rankAwardsInfo = new Dictionary<int, ActBillboardAwards>();
|
//if (model.SelectAwardRank == 0)
|
//{
|
// rankAwardsInfo = model.operationAct.rankInfo;
|
//}
|
//else if (model.SelectAwardRank == 1)
|
{
|
rankAwardsInfo = model.operationCrossAct.rankInfo;
|
}
|
var keys = rankAwardsInfo.Keys.ToList();
|
keys.Sort();
|
|
int startRank = 1;
|
if (index > 0)
|
{
|
startRank = keys[index - 1] + 1;
|
}
|
int endRank = keys[index];
|
if (startRank == endRank)
|
rankText.text = endRank.ToString();
|
else
|
rankText.text = StringUtility.Contact(startRank, "-", endRank);
|
|
|
for (int i = 0; i < items.Length; i++)
|
{
|
if (i < rankAwardsInfo[endRank].awardItemList.Count)
|
{
|
items[i].SetActive(true);
|
int itemID = rankAwardsInfo[endRank].awardItemList[i].id;
|
items[i].Init(new ItemCellModel(itemID, false, (ulong)rankAwardsInfo[endRank].awardItemList[i].count));
|
items[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
}
|
else
|
{
|
items[i].SetActive(false);
|
}
|
}
|
|
if (rankAwardsInfo[endRank].needScore == 0)
|
{
|
needScore.text = string.Empty;
|
}
|
else
|
{
|
needScore.text = Language.Get("RankInfo2") + rankAwardsInfo[endRank].needScore;
|
}
|
|
for (int i = 0; i < itemsEx.Length; i++)
|
{
|
if (i < rankAwardsInfo[endRank].awardItemListEx.Count)
|
{
|
itemsEx[i].SetActive(true);
|
int itemID = rankAwardsInfo[endRank].awardItemListEx[i].id;
|
itemsEx[i].Init(new ItemCellModel(itemID, false, (ulong)rankAwardsInfo[endRank].awardItemListEx[i].count));
|
itemsEx[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
}
|
else
|
{
|
itemsEx[i].SetActive(false);
|
}
|
}
|
|
if (rankAwardsInfo[endRank].needScoreEx == 0)
|
{
|
needScoreEx.text = string.Empty;
|
}
|
else
|
{
|
needScoreEx.text = Language.Get("CrossServerOneVsOneWin__4") + rankAwardsInfo[endRank].needScoreEx;
|
}
|
}
|
}
|
}
|