| | |
| | | public override void Init() |
| | | { |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; |
| | | FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; |
| | | } |
| | | |
| | | public override void Release() |
| | | { |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; |
| | | FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; |
| | | } |
| | | |
| | | void OnBeforePlayerDataInitialize() |
| | | { |
| | | achivementDict.Clear(); |
| | | } |
| | | |
| | | void OnFuncStateChangeEvent(int funcID) |
| | | { |
| | | if (funcID == (int)FuncOpenEnum.DayMission) |
| | | { |
| | | UpdateRedpoint(new List<int>() { 1 }); |
| | | } |
| | | } |
| | | |
| | | public void UpdateAchievement(HA340_tagSCSuccessInfoList netPack) |
| | |
| | | |
| | | foreach (var type in _types) |
| | | { |
| | | if (!isOpened(type)) |
| | | { |
| | | continue; |
| | | } |
| | | var redpoint = RedpointCenter.Instance.GetRedpoint(redpointDict[type]); |
| | | redpoint.state = RedPointState.None; |
| | | //根据ID判断是否有可领取的 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | bool isOpened(int type) |
| | | { |
| | | if (type == 1) |
| | | { |
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission)) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | //根据类型获取所有成就ID, 且是排序后的 未领取>未达成>已领取 |
| | | public List<int> GetAchievementIDs(int type) |
| | | { |