using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//主线任务:英雄之路
|
public class MissionHeroRoadWin : UIBase
|
{
|
[SerializeField] ScrollerController scroller;
|
|
|
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)
|
{
|
if (type == 1 || type == -1)
|
{
|
ids = AchievementManager.Instance.GetAchievementIDs(1);
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|
|
void CreateScroller()
|
{
|
ids = AchievementManager.Instance.GetAchievementIDs(1);
|
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 MissionHeroRoadCell;
|
_cell.Display(ids[cell.index]);
|
}
|
}
|
|
|
|
|
|