//--------------------------------------------------------
|
// [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<int> ids = new List<int>();
|
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]);
|
}
|
|
}
|