//-------------------------------------------------------- // [Author]: 玩个游戏 // [ Date ]: Tuesday, July 24, 2018 //-------------------------------------------------------- using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ////开服活动-庆典 public class OSGalaMissionWin : UIBase { [SerializeField] ScrollerController scroller; 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(AchievementManager.galaTypes); scroller.m_Scorller.RefreshActiveCellViews(); } } void CreateScroller() { ids = AchievementManager.Instance.GetAchievementIDsByTypes(AchievementManager.galaTypes); 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]); } }