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(); } } BoxGetItemModel boxModel; BoxGetItemModel BoxModel { get { return boxModel ?? (boxModel = ModelCenter.Instance.GetModel()); } } public int ItemId = 0; private void Awake() { ChooseItemWin.RefreshChooseCellAct += RefreshChooseImage; } public void InitModel(int id) { ItemConfig itemConfig = Config.Instance.Get(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().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; } } }