| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 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))                {                    if (StoryController.CheckSuitGot(_chapterCfgs[i-1].suitId))                    {                        MainStoryDataManager.currentChapterCfgId = chapterCfg.id;                        ViewManager.Show<StoryChapterView>(new object[] { chapterCfg.id, 0 });                        isOpen = false;                        return isOpen;                    }                    else                    {                        ViewManager.Show<StoryChapterListView>(new object[] { 0, Mathf.Max(0, chapterCfg.order - 1) });                        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;        }    }}
 |