using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
|
public class ChooseItemsCell : CellView
|
{
|
[SerializeField] ItemCell itemCell;
|
[SerializeField] TextEx txtItemName;
|
[SerializeField] TextEx txtNumber;
|
[SerializeField] LongPressButton btnReduce;
|
[SerializeField] LongPressButton btnPlus;
|
[SerializeField] Transform numForm;
|
|
int itemId;
|
string guid;
|
|
public void Display(int[] itemArr, string _guid )
|
{
|
this.itemId = itemArr[0];
|
this.guid = _guid;
|
ItemConfig itemConfig = ItemConfig.Get(itemId);
|
int count = itemArr[1];
|
itemCell.Init(new ItemCellModel(itemId, false, count));
|
itemCell.button.SetListener(() =>
|
{
|
ItemTipUtility.Show(itemId);
|
});
|
txtItemName.text = itemConfig.ItemName;
|
txtNumber.text = BoxGetItemModel.Instance.userChooseItemDict.ContainsKey(itemId) ? BoxGetItemModel.Instance.userChooseItemDict[itemId].useCnt.ToString() : "0";
|
|
if (string.IsNullOrEmpty(guid))
|
{
|
numForm.SetActive(false);
|
}
|
else
|
{
|
numForm.SetActive(true);
|
btnPlus.onPress.RemoveAllListeners();
|
btnPlus.SetListener(OnClickPlus);
|
btnPlus.onPress.AddListener(OnClickPlus);
|
btnReduce.onPress.RemoveAllListeners();
|
btnReduce.SetListener(OnClickReduce);
|
btnReduce.onPress.AddListener(OnClickReduce);
|
}
|
}
|
|
void OnClickPlus()
|
{
|
ItemModel itemModel = PackManager.Instance.GetItemByGuid(guid);
|
if (itemModel == null)
|
return;
|
|
if (BoxGetItemModel.Instance.GetNowChooseItemCount() >= itemModel.count)
|
return;
|
BoxGetItemModel.Instance.IncreaseUserChooseItemCount(itemId, itemModel.guid, itemId, 1);
|
txtNumber.text = BoxGetItemModel.Instance.userChooseItemDict.ContainsKey(itemId) ? BoxGetItemModel.Instance.userChooseItemDict[itemId].useCnt.ToString() : "0";
|
|
}
|
|
void OnClickReduce()
|
{
|
ItemModel itemModel = PackManager.Instance.GetItemByGuid(guid);
|
if (itemModel == null)
|
return;
|
if (!BoxGetItemModel.Instance.userChooseItemDict.ContainsKey(itemId))
|
return;
|
if (BoxGetItemModel.Instance.userChooseItemDict[itemId].useCnt <= 0)
|
return;
|
BoxGetItemModel.Instance.IncreaseUserChooseItemCount(itemId, itemModel.guid, itemId, -1);
|
txtNumber.text = BoxGetItemModel.Instance.userChooseItemDict.ContainsKey(itemId) ? BoxGetItemModel.Instance.userChooseItemDict[itemId].useCnt.ToString() : "0";
|
|
}
|
|
}
|
|
|
|
|
|