using System.Collections.Generic; using MoleMole.Config; using UnityEngine; using UnityEngine.UI; using proto; namespace MoleMole { public class ChapterOverviewPageContext : BasePageContext { private const string CHAPTER_BUTTON_PREFAB = "UI/Menus/Widget/Map/ChapterButton"; private const string ACTIVITY_BUTTON_PREFAB = "UI/Menus/Widget/Map/ActivityButton"; public const string EVENT_TAB = "Event"; public const string SPECIAL_STORY_TAB = "SpecialStory"; public const string MAIN_STORY_TAB = "MainStory"; private string _showingTab; private WeekDayActivityDataItem _selectedActivityData; private ChapterDataItem _selectedChapterData; private bool _noSpecialStory = true; public ChapterOverviewPageContext(string tab = "") { InitChapterOverviewPageContext(); _showingTab = ((!string.IsNullOrEmpty(tab)) ? tab : "MainStory"); } public ChapterOverviewPageContext(WeekDayActivityDataItem acitivtyData) { InitChapterOverviewPageContext(); _selectedActivityData = acitivtyData; _showingTab = "Event"; } public ChapterOverviewPageContext(ChapterDataItem chapterData) { InitChapterOverviewPageContext(); _selectedChapterData = chapterData; _showingTab = "MainStory"; } private void InitChapterOverviewPageContext() { config = new ContextPattern { contextName = "ChapterOverviewPageContext", viewPrefabPath = "UI/Menus/Page/Map/ChapterOverviewPage", cacheType = ViewCacheType.DontCache }; } public override bool OnPacket(NetPacketV1 pkt) { switch (pkt.getCmdId()) { case 42: return OnGetStageDataRsp(pkt.getData()); case 140: return OnGetEndlessDataRsp(pkt.getData()); default: return false; } } public override bool OnNotify(Notify ntf) { if (ntf.type == NotifyTypes.RequestEnterEndlessActivity) { return OnRequestEnterEndlessActivity(); } return false; } protected override void BindViewCallbacks() { BindViewCallback(base.view.transform.Find("Content/Event/Packed/PackBtn").GetComponent