private IEnumerator InitPortalStatusImpl(Action onComplete) { LoadingQueue loadQueue = new LoadingQueue(this); UIntKeyTable <LoadObject> loadTextures = new UIntKeyTable <LoadObject>(); for (int k = 0; k < locations.Length; k++) { FieldMapTable.FieldMapTableData tableData = locations[k].tableData; if (tableData != null && tableData.hasChildRegion && loadTextures.Get(tableData.iconId) == null) { loadTextures.Add(tableData.iconId, loadQueue.Load(RESOURCE_CATEGORY.DUNGEON_ICON, ResourceName.GetDungeonIcon(tableData.iconId), false)); } } if (loadQueue.IsLoading()) { yield return((object)loadQueue.Wait()); } for (int j = 0; j < locations.Length; j++) { FieldMapTable.FieldMapTableData tableData2 = locations[j].tableData; if (tableData2 != null && tableData2.hasChildRegion) { locations[j].icon = (loadTextures.Get(tableData2.iconId).loadedObject as Texture2D); } } for (int i = 0; i < portals.Length; i++) { RegionMapPortal portal = portals[i]; if (portal.IsVisited()) { portal.Open(); } } onComplete?.Invoke(); }
private bool IsPortalReverseAndGetPortalData(int portalId, out RegionMapPortal portalData) { portalData = regionMapRoot.FindEntrancePortal(portalId); if (portalData != null) { return(false); } portalData = regionMapRoot.FindExitPortal(portalId); return(true); }
private void CreateVisitedLocationSpot() { OutGameSettingsManager.QuestMap questMap = MonoBehaviourSingleton <OutGameSettingsManager> .I.questMap; MonoBehaviourSingleton <FilterManager> .I.StopBlur(questMap.cameraMoveTime, 0f); for (int i = 0; i < regionMapRoot.locations.Length; i++) { RegionMapLocation regionMapLocation = regionMapRoot.locations[i]; FieldMapTable.FieldMapTableData fieldMapData = Singleton <FieldMapTable> .I.GetFieldMapData((uint)regionMapLocation.mapId); if ((fieldMapData != null || regionMapLocation.mapId == 0) && (fieldMapData == null || FieldManager.IsShowPortal(fieldMapData.jumpPortalID))) { if (fieldMapData != null && !MonoBehaviourSingleton <FieldManager> .I.CanJumpToMap(fieldMapData)) { CreateLocationSpot(regionMapLocation, SpotManager.ICON_TYPE.NOT_OPENED, false); } else if (regionMapLocation.mapId == newMapData.mapID && !eventData.IsOnlyCameraMoveEvent() && !eventData.IsEnterDungeon() && !eventData.IsQuestToField()) { CreateLocationSpot(regionMapLocation, SpotManager.ICON_TYPE.NOT_OPENED, false); } else { SpotManager.ICON_TYPE iCON_TYPE = SpotManager.ICON_TYPE.CLEARED; if (regionMapLocation.portal.Length > 0) { for (int j = 0; j < regionMapLocation.portal.Length; j++) { RegionMapPortal regionMapPortal = regionMapLocation.portal[j]; if (!regionMapPortal.IsVisited() && regionMapPortal.IsShow()) { iCON_TYPE = SpotManager.ICON_TYPE.NEW; break; } } } if (fieldMapData != null) { if (FieldManager.IsToHardPortal(fieldMapData.jumpPortalID)) { iCON_TYPE = SpotManager.ICON_TYPE.HARD; if (iCON_TYPE == SpotManager.ICON_TYPE.NEW) { iCON_TYPE = SpotManager.ICON_TYPE.HARD_NEW; } } if (fieldMapData.hasChildRegion && fieldMapData.childRegionId != regionId) { iCON_TYPE = SpotManager.ICON_TYPE.CHILD_REGION; } } CreateLocationSpot(regionMapLocation, iCON_TYPE, false); } } } }
private void SetPlayerMakerToStartPosition(RegionMapPortal portal, bool reverse) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) playerMarker.SetParent(portal.fromLocation.get_transform()); if (reverse) { playerMarker.SetParent(portal.toLocation.get_transform()); } playerMarker.set_localPosition(MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerOffset); }
private void SetCameraToMiddlePoint(RegionMapPortal portal) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) Vector3 val = (portal.fromLocation.get_transform().get_position() + portal.toLocation.get_transform().get_position()) / 2f; val -= _camera.get_transform().get_forward() * MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.eventCameraDistance; _camera.get_transform().set_position(val); }
private IEnumerator DoFindNewDungeonEvent(RegionMapPortal portal, LoadObject newRegion) { if (blurFilter != null) { bool wait3 = true; blurFilter.CacheRenderTarget(delegate { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_005d: stateMachine*/)._003C_003Ef__this.playerMarker.get_gameObject().SetActive(false); ((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_005d: stateMachine*/)._003C_003Ef__this.playerMarker.SetParent(((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_005d: stateMachine*/)._003C_003Ef__this._transform); ((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_005d: stateMachine*/)._003Cwait_003E__0 = false; }, true); while (wait3) { yield return((object)null); } uiFrontMapSprite.alpha = 1f; spots.ClearAllSpot(); Object.Destroy(regionMapRoot.get_gameObject()); RegionMapLocation newLocation = null; if (newRegion != null) { regionMapRoot = ResourceUtility.Realizes(newRegion.loadedObject, MonoBehaviourSingleton <AppMain> .I._transform, -1).get_gameObject().GetComponent <RegionMapRoot>(); if (regionMapRoot != null) { wait3 = true; regionMapRoot.InitPortalStatus(delegate { ((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_0136: stateMachine*/)._003Cwait_003E__0 = false; }); while (wait3) { yield return((object)null); } CreateVisitedLocationSpot(); newLocation = regionMapRoot.FindLocation(portal.toLocation.mapId); if (newLocation != null) { SetCameraToLocation(newLocation); playerMarker.SetParent(newLocation.get_transform()); playerMarker.set_localPosition(MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerOffset); } } } wait3 = true; float blurTime = 0.25f; Vector2 blurCenter = new Vector2(0.5f, 0.5f); blurFilter.StartBlurFilter(0.01f, 0.25f, blurTime, blurCenter, delegate { ((_003CDoFindNewDungeonEvent_003Ec__Iterator169) /*Error near IL_023f: stateMachine*/)._003Cwait_003E__0 = false; }); uiMapSprite.alpha = 0f; TweenAlpha.Begin(uiMapSprite.get_gameObject(), blurTime, 1f); TweenAlpha.Begin(uiFrontMapSprite.get_gameObject(), blurTime, 0f); while (wait3) { yield return((object)null); } yield return((object)new WaitForSeconds(1f)); if (regionMapRoot != null && newLocation != null) { GameObject obj = CreateLocationSpot(newLocation, SpotManager.ICON_TYPE.NEW, true); if (obj != null) { obj.get_transform().set_localScale(new Vector3(0.1f, 0.1f, 0.1f)); TweenScale.Begin(obj, 0.3f, Vector3.get_one()); SoundManager.PlayOneShotUISE(40000033); } yield return((object)new WaitForSeconds(0.5f)); playerMarker.get_gameObject().SetActive(true); playerMarker.set_localScale(new Vector3(0f, 0f, 0f)); TweenScale.Begin(playerMarker.get_gameObject(), MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerScaleTime, Vector3.get_one()); } yield return((object)new WaitForSeconds(1.5f)); } }
private IEnumerator DoExitEvent(RegionMapPortal portal, rymFX effect, float delay = 0f, bool reverse = false, bool findDungeon = false) { if (effect != null) { EffectManager.ReleaseEffect(effect.get_gameObject(), true, false); effect = null; } yield return((object)new WaitForSeconds(delay)); LoadObject loadObj = null; if (findDungeon) { LoadingQueue loadQueue = new LoadingQueue(this); FieldMapTable.FieldMapTableData mapData = Singleton <FieldMapTable> .I.GetFieldMapData((uint)portal.toLocation.mapId); loadObj = loadQueue.Load(RESOURCE_CATEGORY.WORLDMAP, "RegionMap_" + mapData.childRegionId.ToString("D3"), false); if (null != dungeonOpenEffect) { EffectCtrl eff = dungeonOpenEffect.GetComponent <EffectCtrl>(); eff.Reset(); for (int i = 0; i < eff.particles.Length; i++) { ParticleSystem particle = eff.particles[i]; if (!(null == particle)) { Renderer renderer = particle.GetComponent <Renderer>(); if (!(null == renderer)) { renderer.set_sortingOrder(2); } } } dungeonOpenEffect.get_gameObject().SetActive(true); AudioClip clip_effect = eff.attachedAudioClip; if (clip_effect != null) { int SE_CONFIG_AREA_LOCATION = eff.attachedAudioSettingID; SoundManager.PlayOneShotUISE(clip_effect, SE_CONFIG_AREA_LOCATION); } yield return((object)new WaitForSeconds(eff.waitTime)); } if (loadQueue.IsLoading()) { yield return((object)loadQueue.Wait()); } } TweenScale.Begin(playerMarker.get_gameObject(), MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerScaleTime, Vector3.get_zero()); yield return((object)new WaitForSeconds(MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerScaleTime)); float timer = 0f; Vector3 target2 = portal.toLocation.get_transform().get_position(); playerMarker.SetParent(portal.toLocation.get_transform()); if (reverse) { target2 = portal.fromLocation.get_transform().get_position(); playerMarker.SetParent(portal.fromLocation.get_transform()); } playerMarker.set_localPosition(MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerOffset); target2 -= _camera.get_transform().get_forward() * MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.eventCameraDistance; Vector3 startPos = _camera.get_transform().get_position(); TweenScale.Begin(playerMarker.get_gameObject(), MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.playerMarkerScaleTime, Vector3.get_one()); while (timer <= MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.eventCameraMoveTime) { timer += Time.get_deltaTime(); _camera.get_transform().set_position(Vector3.Lerp(startPos, target2, timer / MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.eventCameraMoveTime)); yield return((object)null); } _camera.get_transform().set_position(target2); yield return((object)new WaitForSeconds(MonoBehaviourSingleton <GlobalSettingsManager> .I.worldMapParam.eventRemainTime)); if (findDungeon) { yield return((object)this.StartCoroutine(DoFindNewDungeonEvent(portal, loadObj))); } OnQuery_EXIT(); }