using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
public class WishingGetItemWin : Window
|
{
|
[SerializeField] Button sureBtn;
|
[SerializeField] List<AwardItem> awardItems = new List<AwardItem>();
|
|
WishingPoolModel wishModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } }
|
|
protected override void BindController()
|
{
|
|
}
|
protected override void AddListeners()
|
{
|
sureBtn.AddListener(ClickRecevie);
|
}
|
|
protected override void OnPreOpen()
|
{
|
SetDisplayModel();
|
}
|
protected override void OnAfterOpen()
|
{
|
transform.SetAsLastSibling();
|
}
|
|
protected override void OnPreClose()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
private void SetDisplayModel()
|
{
|
List<WishingPoolModel.WishingWellItem> wellItems = wishModel.wishingAwardDict.Values.ToList();
|
for (int i = 0; i < awardItems.Count; i++)
|
{
|
var awardItem = awardItems[i];
|
if (i < wellItems.Count)
|
{
|
awardItem.parentObj.SetActive(true);
|
var wellItem = wellItems[i];
|
ItemCellModel cellModel = new ItemCellModel((int)wellItem.itemId, true , (ulong)wellItem.itemCount);
|
awardItem.itemBaisc.Init(cellModel);
|
string rareIconKey = string.Empty;
|
bool isRare = wishModel.TryGetItemRareIcon(wellItem.rare, out rareIconKey);
|
awardItem.bestIcon.SetActive(isRare);
|
if (isRare)
|
{
|
awardItem.bestIcon.SetSprite(rareIconKey);
|
}
|
awardItem.itemBaisc.button.RemoveAllListeners();
|
awardItem.itemBaisc.button.AddListener(() =>
|
{
|
ItemTipUtility.Show((int)wellItem.itemId);
|
});
|
}
|
else
|
{
|
awardItem.parentObj.SetActive(false);
|
}
|
}
|
}
|
|
private void ClickRecevie()
|
{
|
wishModel.SendGetAwardQuest();
|
CloseClick();
|
}
|
|
[Serializable]
|
public class AwardItem
|
{
|
public GameObject parentObj;
|
public CommonItemBaisc itemBaisc;
|
public Image bestIcon;
|
}
|
}
|
}
|