123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- using System.Collections.Generic;
- using ET;
- using UnityEngine;
- namespace GFGGame
- {
- public class MainControllerr : SingletonBase<MainControllerr>
- {
- public static bool GotoStoryChapter(bool isOpen = false)
- {
- LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.CHUN_ZHONG_LOU, 1);
- if (isOpen) return isOpen;
- isOpen = true;
- List<StoryChapterCfg> _chapterCfgs = StoryChapterCfgArray.Instance.GetCfgsBysubType(0);
- for (int i = 0; i < _chapterCfgs.Count; i++)
- {
- StoryChapterCfg chapterCfg = _chapterCfgs[i];
- if (i == _chapterCfgs.Count - 1 && MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
- {
- ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id, 0 });
- isOpen = false;
- return isOpen;
- }
- else if (!MainStoryDataManager.CheckChapterUnlock(chapterCfg.id))
- {
- StoryChapterCfg chapterTowCfg = _chapterCfgs[Mathf.Max(0, i - 1)];
- var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterTowCfg.type, chapterTowCfg.subType, chapterTowCfg.id);
- StoryLevelCfg lastLevelCfg = list[list.Count - 1];
- //这里是当下一章没解锁,但是上一章的最后一关已经通过了
- if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))//MainStoryDataManager.CheckLevelUnlock(lastLevelCfg.id))
- {
- ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
- isOpen = false;
- return isOpen;
- }
- ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
- isOpen = false;
- return isOpen;
- }
- }
- return isOpen;
- }
- }
- }
|