using LitJson; using vnxbqy.UI; using System.Linq; using UnityEngine; class BagSelectWin : ILWindow { ScrollerController m_ScrollControl; BagSelectModel model = BagSelectModel.Instance; #region Built-in protected override void OnActived() { var knapSackWin = WindowCenter.Instance.Get(); if (knapSackWin != null) { Transform parent = knapSackWin.subWindowContainer; this.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one); this.transform.SetAsFirstSibling(); } } protected override void BindController() { m_ScrollControl = proxy.GetWidgtEx("scroller"); } protected override void AddListeners() { m_ScrollControl.OnRefreshCell += OnRefreshCell; } protected override void OnPreOpen() { model.selectType = 0; } protected override void OnAfterOpen() { m_ScrollControl.Refresh(); var tabList = model.bagTabs.Keys.ToList(); for (int i = 0; i < tabList.Count; i++) { var funcID = tabList[i]; //此处0代表默认 背包 if (funcID != 0 && !FuncOpen.Instance.IsFuncOpen(funcID)) { continue; } m_ScrollControl.AddCell(ScrollerDataType.Header, funcID); } tabList = model.holidayBagTabs.Keys.ToList(); for (int i = 0; i < tabList.Count; i++) { var holidayID = tabList[i] + 10000; if (!OpenServerActivityCenter.Instance.IsActivityOpen(tabList[i], (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { continue; } m_ScrollControl.AddCell(ScrollerDataType.Header, holidayID); } m_ScrollControl.Restart(); } #endregion private void OnRefreshCell(ScrollerDataType type, CellView cell) { var bag = cell.GetILBehaviour(); if (bag == null) return; bag.Display(cell.index); } }