//-------------------------------------------------------- // [Author]: 玩个游戏 // [ Date ]: Tuesday, July 24, 2018 //-------------------------------------------------------- using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ////开服活动-主线关卡活动 public class OSGalaMissionWin : UIBase { [SerializeField] ScrollerController scroller; int[] types = new int[] { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }; List ids = new List(); protected override void OnPreOpen() { scroller.OnRefreshCell += OnRefreshCell; AchievementManager.Instance.OnAchievementUpdateEvent += OnAchievementUpdateEvent; CreateScroller(); } protected override void OnPreClose() { scroller.OnRefreshCell -= OnRefreshCell; AchievementManager.Instance.OnAchievementUpdateEvent -= OnAchievementUpdateEvent; } void OnAchievementUpdateEvent(int type) { // -1 为所有类型 if (type >= 2 && type <= 19 || type == -1) { ids = AchievementManager.Instance.GetAchievementIDsByTypes(types); scroller.m_Scorller.RefreshActiveCellViews(); } } void CreateScroller() { ids = AchievementManager.Instance.GetAchievementIDsByTypes(types); var count = ids.Count; scroller.Refresh(); for (int i = 0; i < count; i++) { scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as OSGalaMissionCell; _cell.Display(ids[cell.index]); } }