using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
public class LianQiAwardActCell : CellView
|
{
|
[SerializeField] ImageEx imgCorrespondItem;
|
[SerializeField] ButtonEx btnCorrespondItem;
|
[SerializeField] ImageEx imgProgressBarGreen;
|
[SerializeField] ImageEx imgProgressBarGreen2;
|
[SerializeField] ImageEx imgCanHave;
|
[SerializeField] ImageEx imgHaveBG;
|
[SerializeField] TextEx txtItemCount;
|
[SerializeField] RectTransform transTo;
|
LianQiActModel model { get { return ModelCenter.Instance.GetModel<LianQiActModel>(); } }
|
|
public void Display(int index)
|
{
|
Dictionary<int, List<Item>> correspondingRewards = model.correspondingRewards;
|
if (model.correspondingRewards == null)
|
return;
|
|
var arr = correspondingRewards.Keys.ToArray();
|
if (arr.Length <= index)
|
return;
|
|
int awardLv = arr[index];
|
|
HAA91_tagMCActLianqiPlayerInfo info = model.nowPlayerInfo;
|
if (info == null)
|
return;
|
|
LianQiCompositeItemInfo itemInfo;
|
if (!model.TryGetCompositeItemInfoByAwardLv(awardLv, out itemInfo) || itemInfo == null)
|
return;
|
|
bool isItemCountShow = awardLv >= model.MaxItemLv;
|
txtItemCount.SetActive(isItemCountShow);
|
if (isItemCountShow)
|
{
|
int itemCount = awardLv - model.MaxItemLv + 1;
|
txtItemCount.text = StringUtility.Contact("X", itemCount);
|
}
|
|
//0 不可领取 1 可领取 2 已领取
|
int state = model.GetAwardState(awardLv, (int)info.LVAwardState, (int)info.LVAwardMax);
|
imgProgressBarGreen.SetActive(state != 0 && index == 0);
|
imgProgressBarGreen2.SetActive(state != 0 && index != 0);
|
imgHaveBG.SetActive(state == 2);
|
imgCanHave.SetActive(state == 1);
|
imgCorrespondItem.SetSprite(itemInfo.Icon);
|
imgCorrespondItem.SetNativeSize();
|
btnCorrespondItem.SetListener(() =>
|
{
|
if (state == 1)
|
{
|
model.ClaimReward();
|
}
|
else
|
{
|
model.OnDisplayItemInfoAction?.Invoke(awardLv, transTo.position);
|
}
|
});
|
}
|
}
|
}
|