Example #1
0
    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);
                }
            }
        }
    }
Example #2
0
    private GameObject CreateLocationSpot(RegionMapLocation location, SpotManager.ICON_TYPE icon = SpotManager.ICON_TYPE.CLEARED, bool isNew = false)
    {
        //IL_0044: Unknown result type (might be due to invalid IL or missing references)
        //IL_0049: Unknown result type (might be due to invalid IL or missing references)
        //IL_0062: Unknown result type (might be due to invalid IL or missing references)
        //IL_0067: Expected O, but got Unknown
        //IL_01bc: Unknown result type (might be due to invalid IL or missing references)
        //IL_01c1: Unknown result type (might be due to invalid IL or missing references)
        //IL_01e9: Unknown result type (might be due to invalid IL or missing references)
        //IL_01ee: Expected O, but got Unknown
        if (location.mapId == 0)
        {
            return(spots.AddSpot(0, MonoBehaviourSingleton <GameSceneManager> .I.GetCurrentSectionTextList().Find((GameSceneTables.TextData textData) => textData.key == "STR_HOME").text, location.get_transform().get_position(), SpotManager.ICON_TYPE.HOME, null, false, false, false, null, null, false, SpotManager.HAPPEN_CONDITION.NONE, 0)._transform.get_gameObject());
        }
        FieldMapTable.FieldMapTableData fieldMapData = Singleton <FieldMapTable> .I.GetFieldMapData((uint)location.mapId);

        if (fieldMapData == null)
        {
            return(null);
        }
        bool canUnlockNewPortal = false;

        if (location.portal.Length > 0 && icon != SpotManager.ICON_TYPE.NOT_OPENED)
        {
            for (int i = 0; i < location.portal.Length; i++)
            {
                string s = location.get_name().Replace("location", string.Empty);
                int.TryParse(s, out int result);
                int[] locationNumbers = GetLocationNumbers(location.portal[i].get_name());
                if (result == locationNumbers[0] && GameSaveData.instance.isNewReleasePortal((uint)location.portal[i].entranceId))
                {
                    if (!location.portal[i].IsVisited())
                    {
                        canUnlockNewPortal = true;
                        break;
                    }
                    GameSaveData.instance.newReleasePortals.Remove((uint)location.portal[i].entranceId);
                }
                if (result == locationNumbers[1] && GameSaveData.instance.isNewReleasePortal((uint)location.portal[i].exitId))
                {
                    if (!location.portal[i].IsVisited())
                    {
                        canUnlockNewPortal = true;
                        break;
                    }
                    GameSaveData.instance.newReleasePortals.Remove((uint)location.portal[i].exitId);
                }
            }
        }
        return(spots.AddSpot((int)fieldMapData.mapID, fieldMapData.mapName, location.get_transform().get_position(), icon, null, isNew, canUnlockNewPortal, false, fieldMapData.mapID, location.icon, false, SpotManager.HAPPEN_CONDITION.NONE, 0)._transform.get_gameObject());
    }