using Snxxz.UI;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using System;
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class MarketBagItemCell : CellView
|
{
|
[SerializeField] MarketBagItem[] m_MarketBagItems;
|
[NonSerialized] public AchievementGuideEffect[] m_AchieveEffects = new AchievementGuideEffect[4];
|
public MarketBagItem this[int _index]
|
{
|
get
|
{
|
if (_index < m_MarketBagItems.Length)
|
{
|
return m_MarketBagItems[_index];
|
}
|
return null;
|
}
|
}
|
|
MarketModel m_Model;
|
MarketModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<MarketModel>());
|
}
|
}
|
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel
|
{
|
get
|
{
|
return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
}
|
}
|
|
public void Display(params int[] _indexs)
|
{
|
if (_indexs == null)
|
{
|
return;
|
}
|
for (int i = 0; i < _indexs.Length; i++)
|
{
|
m_MarketBagItems[i].cellBtn.RemoveAllListeners();
|
if (_indexs[i] == -1 || _indexs[i] >= model.bagItems.Count)
|
{
|
m_MarketBagItems[i].gameObject.SetActive(false);
|
continue;
|
}
|
m_MarketBagItems[i].gameObject.SetActive(true);
|
var _itemModel = model.bagItems[_indexs[i]];
|
m_MarketBagItems[i].Init(_itemModel);
|
m_MarketBagItems[i].itemIcon.material = model.CheckItemPutaway(_itemModel) ?
|
MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
|
m_MarketBagItems[i].cellBtn.onClick.AddListener(() =>
|
{
|
OnItemClick(_itemModel);
|
});
|
}
|
}
|
|
private void OnItemClick(ItemModel itemBag)
|
{
|
model.m_AchievementIndex = -1;
|
if (!model.CheckItemPutaway(itemBag, true))
|
{
|
return;
|
}
|
itemTipsModel.SetItemTipsModel(itemBag.packType, itemBag.guid, false);
|
itemTipsModel.curAttrData.SetTipsFuncBtn(ItemOperateType.putAway, OnPutawayClick);
|
itemTipsModel.ShowUICtrl();
|
|
PutawayData.Instance.Reset();
|
PutawayData.Instance.itemModel = itemBag;
|
}
|
|
private void OnPutawayClick(ItemOperateType type, string s)
|
{
|
KnapSackEventMgr.Instance.HideItemPopWin();
|
switch (type)
|
{
|
case ItemOperateType.putAway:
|
{
|
WindowCenter.Instance.Open<PutawayWin>();
|
}
|
break;
|
}
|
}
|
}
|
}
|
|