using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
|
namespace Snxxz.UI
|
{
|
public class SelectBoxItemCell : MonoBehaviour
|
{
|
|
[SerializeField] GameObject chooseImage;
|
[SerializeField] Text nameText;
|
[SerializeField] Text haveCntText;
|
[SerializeField] public Button chooseCellBtn;
|
[SerializeField] CommonItemBaisc itemBaisc;
|
|
PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
BoxGetItemModel boxModel;
|
BoxGetItemModel BoxModel
|
{
|
get { return boxModel ?? (boxModel = ModelCenter.Instance.GetModel<BoxGetItemModel>()); }
|
}
|
|
|
public int ItemId = 0;
|
private void Awake()
|
{
|
ChooseItemWin.RefreshChooseCellAct += RefreshChooseImage;
|
|
}
|
|
public void InitModel(int id)
|
{
|
ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(id);
|
this.ItemId = id;
|
nameText.text = itemConfig.ItemName;
|
ItemCellModel cellModel = new ItemCellModel(id, false, (ulong)BoxModel.selectDict[id]);
|
itemBaisc.Init(cellModel);
|
int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, id);
|
if(haveCnt <= 0)
|
{
|
haveCnt = ModelCenter.Instance.GetModel<RuneModel>().GetRuneCountById(id);
|
}
|
haveCntText.text = haveCnt.ToString();
|
SetIsChoose(false);
|
}
|
|
private void RefreshChooseImage(int id)
|
{
|
if (id == ItemId)
|
{
|
SetIsChoose(true);
|
}
|
else
|
{
|
SetIsChoose(false);
|
}
|
}
|
|
private void SetIsChoose(bool isChoose)
|
{
|
if (isChoose)
|
{
|
chooseImage.SetActive(true);
|
}
|
else
|
{
|
chooseImage.SetActive(false);
|
}
|
}
|
|
private void OnDestroy()
|
{
|
ChooseItemWin.RefreshChooseCellAct -= RefreshChooseImage;
|
|
}
|
}
|
}
|