예제 #1
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());
    }
예제 #2
0
 public void InitRegionInfo()
 {
     //IL_0036: Unknown result type (might be due to invalid IL or missing references)
     //IL_003b: Unknown result type (might be due to invalid IL or missing references)
     //IL_0060: Unknown result type (might be due to invalid IL or missing references)
     //IL_00a2: Unknown result type (might be due to invalid IL or missing references)
     //IL_0110: Unknown result type (might be due to invalid IL or missing references)
     //IL_0127: Unknown result type (might be due to invalid IL or missing references)
     //IL_0153: Unknown result type (might be due to invalid IL or missing references)
     //IL_0158: Expected O, but got Unknown
     //IL_0164: Unknown result type (might be due to invalid IL or missing references)
     //IL_01a1: Unknown result type (might be due to invalid IL or missing references)
     //IL_01b7: Unknown result type (might be due to invalid IL or missing references)
     if (spots != null)
     {
         Transform val = spots.SetRoot(base._transform);
         if (uiMapSprite == null)
         {
             uiMapSprite = val.FindChild("Map").get_gameObject().GetComponent <UITexture>();
         }
         InitMapSprite(MonoBehaviourSingleton <ScreenOrientationManager> .I.isPortrait);
         worldMapObject.get_gameObject().SetActive(true);
         for (int i = 0; i < openedRegionInfo.Length; i++)
         {
             RegionTable.Data data = openedRegionInfo[i].data;
             if (data != null)
             {
                 SpotManager.Spot spot = spots.AddSpot((int)data.regionId, data.regionName, data.iconPos, SpotManager.ICON_TYPE.CLEARED, "OPEN_REGION", false, false, false, null, null, false, SpotManager.HAPPEN_CONDITION.NONE, 0);
                 spot.SetIconSprite("SPR_ICON", openedRegionInfo[i].icon.loadedObject as Texture2D, (int)data.iconSize.x, (int)data.iconSize.y);
                 if (fromRegionID == data.regionId)
                 {
                     playerMarker.get_gameObject().SetActive(true);
                     playerMarker.SetParent(worldMapObject.get_transform());
                     PlayerMarker component = playerMarker.GetComponent <PlayerMarker>();
                     component.SetWorldMode(true);
                     component.SetCamera(worldMapCamera._camera.get_transform());
                     playerMarker.set_localPosition(data.markerPos);
                 }
                 if (toRegionID == data.regionId)
                 {
                     targetRegionIcon = spot._transform;
                     if (!eventData.IsOnlyCameraMoveEvent())
                     {
                         spot._transform.get_gameObject().SetActive(false);
                     }
                     else
                     {
                         spot._transform.get_gameObject().SetActive(true);
                     }
                 }
             }
         }
     }
 }