using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
public class SelectBoxItemCell : MonoBehaviour
|
{
|
|
[SerializeField] GameObject chooseImage;
|
[SerializeField] Text nameText;
|
[SerializeField] Text haveCntText;
|
[SerializeField] public Button chooseCellBtn;
|
[SerializeField] CommonItemBaisc itemBaisc;
|
[SerializeField] GameObject NeedImage;
|
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
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 = ItemConfig.Get(id);
|
this.ItemId = id;
|
nameText.text = itemConfig.ItemName;
|
ItemCellModel cellModel = new ItemCellModel(id, true, (ulong)BoxModel.selectDict[id], "", PackType.Equip, true);
|
itemBaisc.Init(cellModel);
|
itemBaisc.button.SetListener(() =>
|
{
|
if (ItemLogicUtility.Instance.IsRealmEquip(ItemId))
|
{
|
ItemTipUtility.Show(new ItemTipUtility.ItemViewInfo()
|
{
|
itemId = ItemId,
|
compare = true
|
});
|
}
|
else
|
{
|
ItemTipUtility.Show(this.ItemId);
|
}
|
});
|
if (itemConfig.Effect1 == 220)
|
{
|
id = itemConfig.EffectValueA1;
|
}
|
var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
int haveCnt = 0;
|
switch(packType)
|
{
|
case PackType.RunePack:
|
case PackType.GatherSoul:
|
haveCnt = ModelCenter.Instance.GetModel<VirtualPackModel>().GetItemCountById(packType,id);
|
break;
|
default:
|
haveCnt = playerPack.GetItemCountByID(packType, id) + playerPack.GetItemCountByID(PackType.Equip, id);
|
break;
|
}
|
haveCntText.text = haveCnt.ToString();
|
SetIsChoose(false);
|
|
NeedImage.SetActive(ItemLogicUtility.Instance.IsSatisfyEquipBetterEquip(ItemId));
|
}
|
|
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;
|
|
}
|
}
|
}
|