protected override void OnOpen() { if (toRegionRelease) { base.OnOpen(); } else { if (null != bgEventListener) { UIEventListener uIEventListener = bgEventListener; uIEventListener.onClick = (UIEventListener.VoidDelegate)Delegate.Combine(uIEventListener.onClick, new UIEventListener.VoidDelegate(onClick)); } if (portalData == null || newMapData == null) { RequestEvent("EXIT", null); } else if (eventData.IsFindNewDungeon()) { OpenNewDungeon(); } else if (eventData.IsOnlyCameraMoveEvent() || eventData.IsEnterDungeon()) { CameraMoveEvent(); } else if (eventData.IsQuestToField()) { QuestToField(); } else { OpenNewLocation(); } base.OnOpen(); } }
private IEnumerator DoInitialize() { eventData = (SectionEventData)GameSection.GetEventData(); if (MonoBehaviourSingleton <InGameManager> .IsValid()) { portalData = Singleton <FieldMapTable> .I.GetPortalData(MonoBehaviourSingleton <InGameManager> .I.beforePortalID); } if (MonoBehaviourSingleton <OutGameSettingsManager> .IsValid() && portalData == null) { portalData = Singleton <FieldMapTable> .I.GetPortalData((uint)MonoBehaviourSingleton <OutGameSettingsManager> .I.homeScene.linkFieldPortalID); } if (eventData.IsQuestToField()) { portalData = Singleton <FieldMapTable> .I.GetPortalData(MonoBehaviourSingleton <FieldManager> .I.currentPortalID); } if (portalData == null) { base.Initialize(); } else { FieldMapTable.FieldMapTableData currentMapData = Singleton <FieldMapTable> .I.GetFieldMapData(portalData.srcMapID); newMapData = Singleton <FieldMapTable> .I.GetFieldMapData(portalData.dstMapID); regionId = newMapData.regionId; if (NeedDirectionOpenRegion()) { toRegionRelease = true; base.Initialize(); } else { if (currentMapData != null && newMapData != null && newMapData.regionId != currentMapData.regionId) { regionId = currentMapData.regionId; } if (newMapData == null || !IsValidRegion(newMapData)) { newMapData = null; base.Initialize(); } else { LoadingQueue loadQueue = new LoadingQueue(this); LoadObject loadedEventUIRoot = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "NewFieldOpenEventUIRoot", false); LoadObject loadedLocationSpot = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "LocationSpot", false); LoadObject loadedEventCamera = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "NewFieldEventCamera", false); LoadObject loadedFilterCamera = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "ZoomBlurFilterCamera", false); LoadObject loadedPlayerMarker = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "PlayerMarker", false); LoadObject loadedRegion = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "RegionMap_" + regionId.ToString("D3"), false); LoadObject loadedEffect = loadQueue.LoadEffect(RESOURCE_CATEGORY.EFFECT_UI, "ef_ui_map_fire_01", false); LoadObject loadedWindEffect = loadQueue.LoadEffect(RESOURCE_CATEGORY.EFFECT_ACTION, "ef_btl_bg_questmap_01", false); LoadObject loadedDungeonEff = null; if (eventData.IsFindNewDungeon() && newMapData != null) { uint mapID = newMapData.mapID; loadedDungeonEff = loadQueue.LoadEffect(RESOURCE_CATEGORY.EFFECT_DUNGEON, "DEF_" + mapID.ToString("D8"), false); } LoadObject loadedEncounterBossCutIn = null; if (eventData.IsEncounterBossEvent()) { loadedEncounterBossCutIn = loadQueue.Load(RESOURCE_CATEGORY.UI, "InGameFieldQuestWarning", false); } CacheAudio(loadQueue); if (loadQueue.IsLoading()) { yield return((object)loadQueue.Wait()); } if (loadedEncounterBossCutIn != null) { fieldQuestWarningRoot = ResourceUtility.Realizes(loadedEncounterBossCutIn.loadedObject, -1).get_gameObject(); UIPanel panel = fieldQuestWarningRoot.GetComponentInChildren <UIPanel>(); if (panel != null) { panel.depth = 8000; } if (MonoBehaviourSingleton <UIInGameFieldQuestWarning> .IsValid()) { MonoBehaviourSingleton <UIInGameFieldQuestWarning> .I.Load(loadQueue); } } if (loadQueue.IsLoading()) { yield return((object)loadQueue.Wait()); } topEffectPrefab = loadedEffect.loadedObject; Transform t = ResourceUtility.Realizes(loadedEventUIRoot.loadedObject, base._transform, -1); regionMapRoot = ResourceUtility.Realizes(loadedRegion.loadedObject, MonoBehaviourSingleton <AppMain> .I._transform, -1).get_gameObject().GetComponent <RegionMapRoot>(); if (regionMapRoot != null) { bool wait = true; regionMapRoot.InitPortalStatus(delegate { ((_003CDoInitialize_003Ec__Iterator164) /*Error near IL_0526: stateMachine*/)._003Cwait_003E__15 = false; }); while (wait) { yield return((object)null); } } blurFilter = (ResourceUtility.Instantiate <Object>(loadedFilterCamera.loadedObject) as GameObject).GetComponent <ZoomBlurFilter>(); blurFilter.get_transform().set_parent(base._transform); _camera = ResourceUtility.Realizes(loadedEventCamera.loadedObject, MonoBehaviourSingleton <AppMain> .I._transform, -1).GetComponent <Camera>(); uiFrontMapSprite = t.FindChild("FrontMap").get_gameObject().GetComponent <UITexture>(); if (uiFrontMapSprite != null) { uiFrontMapSprite.alpha = 0f; } uiMapSprite = t.FindChild("Map").get_gameObject().GetComponent <UITexture>(); InitMapSprite(MonoBehaviourSingleton <ScreenOrientationManager> .I.isPortrait); if (eventData.IsEncounterBossEvent()) { t.FindChild("TaptoSkip").get_gameObject().SetActive(false); } bgEventListener = UIEventListener.Get(t.Find("BG").get_gameObject()); tutorialTrigger = t.FindChild("TUTORIAL_TRIGGER"); if (tutorialTrigger != null) { if (!TutorialStep.HasAllTutorialCompleted()) { tutorialTrigger.get_gameObject().SetActive(true); UITweenCtrl.Play(tutorialTrigger, true, null, false, 0); } else { tutorialTrigger.get_gameObject().SetActive(false); } } spots = new SpotManager(null, loadedLocationSpot.loadedObject as GameObject, _camera); spots.spotRootTransform = t; playerMarker = ResourceUtility.Realizes(loadedPlayerMarker.loadedObject, -1); PlayerMarker playerMarkerCom = playerMarker.GetComponent <PlayerMarker>(); if (null != playerMarkerCom) { playerMarkerCom.SetCamera(_camera.get_transform()); } windEffect = ResourceUtility.Realizes(loadedWindEffect.loadedObject, _camera.get_transform(), -1).get_gameObject().GetComponent <rymFX>(); windEffect.Cameras = (Camera[])new Camera[1] { _camera }; windEffect.get_gameObject().set_layer(LayerMask.NameToLayer("WorldMap")); if (loadedDungeonEff != null) { dungeonOpenEffect = ResourceUtility.Realizes(loadedDungeonEff.loadedObject, base._transform, -1); dungeonOpenEffect.get_gameObject().SetActive(false); } CreateVisitedLocationSpot(); if (MonoBehaviourSingleton <GameSceneManager> .I.GetCurrentSceneName() == "InGameScene") { MonoBehaviourSingleton <ScreenOrientationManager> .I.OnScreenRotate += InitMapSprite; } base.Initialize(); } } } }