using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
public class ActRankAwardFamilyCell : CellView
|
{
|
[SerializeField] Text rankText;
|
[SerializeField] ItemCell[] items;
|
[SerializeField] ItemCell[] leaderItems;
|
|
[SerializeField] Transform rankTextObj;
|
[SerializeField] Image rankImg;
|
[SerializeField] Image rankBG;
|
|
BossTrialModel bossTrialModel { get { return ModelCenter.Instance.GetModel<BossTrialModel>(); } }
|
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");
|
}
|
|
var rankAwardsInfo = bossTrialModel.operationBossTrialCross.familyRankInfo;
|
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 = Language.Get("AllianceBossRank", endRank);
|
else
|
rankText.text = Language.Get("AllianceBossRank", StringUtility.Contact(startRank, "-", endRank));
|
|
|
for (int i = 0; i < items.Length; i++)
|
{
|
if (i < rankAwardsInfo[endRank].Count)
|
{
|
items[i].SetActive(true);
|
int itemID = rankAwardsInfo[endRank][i].id;
|
items[i].Init(new ItemCellModel(itemID, false, (ulong)rankAwardsInfo[endRank][i].count));
|
items[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
}
|
else
|
{
|
items[i].SetActive(false);
|
}
|
}
|
|
|
rankAwardsInfo = bossTrialModel.operationBossTrialCross.familyLeaderRankInfo;
|
|
for (int i = 0; i < leaderItems.Length; i++)
|
{
|
if (i < rankAwardsInfo[endRank].Count)
|
{
|
leaderItems[i].SetActive(true);
|
int itemID = rankAwardsInfo[endRank][i].id;
|
leaderItems[i].Init(new ItemCellModel(itemID, false, (ulong)rankAwardsInfo[endRank][i].count));
|
leaderItems[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
}
|
else
|
{
|
leaderItems[i].SetActive(false);
|
}
|
}
|
}
|
}
|
}
|