using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
|
namespace Snxxz.UI
|
{
|
public class XBGridCell : MonoBehaviour
|
{
|
[SerializeField] ItemCell itemCell;
|
PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
HappyXBModel XBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
|
int index = 0;
|
public void OnEnable()
|
{
|
playerPack.RefreshItemCountAct += RefreshItemCount;
|
}
|
|
public void OnDisable()
|
{
|
playerPack.RefreshItemCountAct -= RefreshItemCount;
|
}
|
|
public void SetModel(string guid,int index)
|
{
|
this.index = index;
|
ItemModel itemModel = playerPack.GetItemModelByGUID(guid);
|
if(itemModel != null)
|
{
|
itemCell.gameObject.SetActive(true);
|
itemCell.Init(itemModel);
|
itemCell.cellBtn.RemoveAllListeners();
|
itemCell.cellBtn.AddListener(() => { ClickItemCell(itemModel); });
|
}
|
else
|
{
|
itemCell.gameObject.SetActive(false);
|
}
|
}
|
|
private void ClickItemCell(ItemModel itemModel)
|
{
|
if(itemModel.chinItemModel.Type == 30 || itemModel.chinItemModel.Type == 31)
|
{
|
if (XBModel.CheckIsEmptyGrid(PackType.rptRunePack))
|
{
|
XBModel.SendPutOutXBItem(PackType.rptTreasure, PackType.rptRunePack, itemModel.itemInfo.ItemPlace, 0);
|
}
|
}
|
else
|
{
|
if (XBModel.CheckIsEmptyGrid(PackType.rptItem))
|
{
|
XBModel.SendPutOutXBItem(PackType.rptTreasure, PackType.rptItem, itemModel.itemInfo.ItemPlace, 0);
|
}
|
}
|
}
|
|
private void RefreshItemCount(PackType type, int index, int id)
|
{
|
if (type != PackType.rptTreasure || this.index != index) return;
|
|
ItemModel itemModel = playerPack.GetItemModelByIndex(type,index);
|
if(itemModel != null)
|
{
|
SetModel(itemModel.itemInfo.ItemGUID,index);
|
}
|
else
|
{
|
SetModel("",index);
|
}
|
}
|
}
|
}
|