| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- 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))
 
-                 {
 
-                     MainStoryDataManager.currentChapterCfgId = 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)];
 
-                     StoryChapterCfg chaptersuitCfg = _chapterCfgs[Mathf.Max(0, i - 2)];
 
-                     var list = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(chapterTowCfg.type, chapterTowCfg.subType, chapterTowCfg.id);
 
-                     StoryLevelCfg lastLevelCfg = list[list.Count - 1];
 
-                     //这里是当下一章没解锁,但是上一章的最后一关已经通过了
 
-                     if (lastLevelCfg != null && InstanceZonesDataManager.CheckLevelPass(lastLevelCfg.id))
 
-                     {
 
-                         ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
 
-                         isOpen = false;
 
-                         return isOpen;
 
-                     }
 
-                     if (StoryController.CheckSuitGot(chaptersuitCfg.suitId))
 
-                     {
 
-                         MainStoryDataManager.currentChapterCfgId = chapterCfg.id - 1;
 
-                         ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id - 1, 0 });
 
-                         isOpen = false;
 
-                         return isOpen;
 
-                     }
 
-                     else
 
-                     {
 
-                         ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });
 
-                         isOpen = false;
 
-                         return isOpen;
 
-                     }
 
-                 }
 
-             }
 
-             return isOpen;
 
-         }
 
-     }
 
- }
 
 
  |