using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BeautyMMTalentWin : UIBase { [SerializeField] Text titleText; [SerializeField] ScrollerController attrScroller; [SerializeField] ScrollerController talentScroller; [SerializeField] GroupButtonEx attrBtn; [SerializeField] GroupButtonEx talentBtn; int selectTab = 0; int mmID = 0; protected override void InitComponent() { attrBtn.AddListener(() => { selectTab = 0; Display(); }); talentBtn.AddListener(() => { selectTab = 1; Display(); }); } protected override void OnPreOpen() { selectTab = 0; mmID = functionOrder; attrScroller.OnRefreshCell += OnRefreshAttrCell; talentScroller.OnRefreshCell += OnRefreshTalentCell; CreateScroller(); Display(); } protected override void OnPreClose() { attrScroller.OnRefreshCell -= OnRefreshAttrCell; talentScroller.OnRefreshCell -= OnRefreshTalentCell; } void CreateScroller() { var mmConfig = BeautyConfig.Get(mmID); var maxLV = BeautyQualityLVConfig.GetBeautyQualityMaxLV(mmConfig.BeautyQuality); attrScroller.Refresh(); talentScroller.Refresh(); for (int i = 0; i <= maxLV; i++) { if (i % 20 == 0) { talentScroller.AddCell(ScrollerDataType.Header, i / 20); } } for (int i = 0; i < maxLV; i++) { if (i % 20 == 0) { attrScroller.AddCell(ScrollerDataType.Header, i / 20); } attrScroller.AddCell(ScrollerDataType.Normal, i + 1); } attrScroller.Restart(); talentScroller.Restart(); } void OnRefreshAttrCell(ScrollerDataType type, CellView cell) { if (type == ScrollerDataType.Header) { var _cell1 = cell as BeautyMMTalentAttrNameCell; _cell1.Display(cell.index); } else { var _cell = cell as BeautyMMTalentAttrCell; _cell.Display(cell.index, mmID); } } void OnRefreshTalentCell(ScrollerDataType type, CellView cell) { var _cell = cell as BeautyMMTalentEffectCell; _cell.Display(cell.index, mmID); } void Display() { if (selectTab == 0) { attrScroller.SetActive(true); talentScroller.SetActive(false); attrBtn.SelectBtn(); attrScroller.JumpIndex(BeautyMMManager.Instance.GetMMLV(mmID) - 10); titleText.text = Language.Get("BeautyMM2"); } else { attrScroller.SetActive(false); talentScroller.SetActive(true); talentBtn.SelectBtn(); titleText.text = Language.Get("BeautyMM4"); talentScroller.JumpIndex(BeautyMMManager.Instance.GetMMLV(mmID)/BeautyMMManager.Instance.needLVForTalent); } } }