using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class BlessedLandManageMouseCell : CellView { [SerializeField] ButtonEx btnChoose; [SerializeField] ImageEx imgHave; [SerializeField] ImageEx imgLock; [SerializeField] TextEx txtName; [SerializeField] Dropdown dropdown; bool isChoose = false; bool isLock; BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel(); } } BlessedLandManageMouseModel model { get { return ModelCenter.Instance.GetModel(); } } public void Display(int itemId) { if (!ItemConfig.Has(itemId)) return; ItemConfig itemConfig = ItemConfig.Get(itemId); txtName.text = itemConfig.ItemName; int lv = PlayerDatas.Instance.baseData.LV; var itemIDToLimitLVDict = MineAreaItemConfig.GetItemIDToLimitLVDict(); if (!itemIDToLimitLVDict.TryGetValue(itemId, out var limitIv)) return; var itemIDToItemLVListDict = MineAreaItemConfig.GetItemIDToItemLVListDict(); if (!itemIDToItemLVListDict.TryGetValue(itemId, out var list) || list.IsNullOrEmpty()) return; dropdown.ClearOptions(); List optionDatas = new List(); for (int i = 0; i < list.Count; i++) { string itemInfo = Language.Get("LoadIconLV", list[i]); optionDatas.Add(new Dropdown.OptionData(itemInfo)); } dropdown.AddOptions(optionDatas); if (model.nowChooseDict.ContainsKey(itemId)) { isChoose = true; dropdown.value = Mathf.Max(0, list.IndexOf(model.nowChooseDict[itemId])); } else { isChoose = false; } isLock = lv < limitIv; imgLock.SetActive(isLock); imgHave.SetActive(!isLock && isChoose); btnChoose.SetListener(() => { //当前道具未解锁,系统开启后解锁 if (isLock) { SysNotifyMgr.Instance.ShowTip("BlessedLandManageMouse01"); return; } if (list.IsNullOrEmpty() || list.Count <= dropdown.value) return; isChoose = !isChoose; imgHave.SetActive(!isLock && isChoose); model.SaveLocal(isChoose, itemId, list[dropdown.value]); }); dropdown.SetListener((int value) => { if (isChoose) { model.SaveLocal(isChoose, itemId, list[value]); } }); } } }