| 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;        }    }}
 |