using System; using UnityEngine; using UnityEngine.UI; using EnhancedUI.EnhancedScroller; using System.Collections.Generic; namespace vnxbqy.UI { public class FashionDecomposeLineBeh : ScrollerUI { [SerializeField] List itemBehs = new List(); public override void Refresh(CellView cell) { var decomposeModel = FashionDecomposeModel.Instance; var decomposeGuids = decomposeModel.decomposeItemGuids; int length = itemBehs.Count; for(int i = 0; i < length; i++) { var itemBeh = itemBehs[i]; int index = cell.index*length + i; if(decomposeGuids != null && index < decomposeGuids.Count) { var guid = decomposeGuids[index]; FashionDecomposeModel.DecomposeItem decomposeItem = null; decomposeModel.TryGetDecomposeItem(guid,out decomposeItem); itemBeh.SetDisplay(decomposeItem.itemModel,decomposeItem.isSelect); } else { itemBeh.SetDisplay(null); } } } [Serializable] public class DecomposeItemBeh { [SerializeField] CommonItemBaisc itemBaisc; [SerializeField] GameObject selectObj; public void SetDisplay(ItemModel itemModel,bool _isSelect = false) { if (itemModel == null) { itemBaisc.SetActive(false); selectObj.SetActive(false); } else { itemBaisc.SetActive(true); selectObj.SetActive(_isSelect); var decomposeModel = FashionDecomposeModel.Instance; itemBaisc.Init(itemModel); itemBaisc.button.RemoveAllListeners(); itemBaisc.button.AddListener(()=> { decomposeModel.UpdateDecomposeItem(itemModel.guid, !selectObj.activeInHierarchy); selectObj.SetActive(!selectObj.activeInHierarchy); }); } } } } }