コード例 #1
0
 public GameObject GetSuperTileGameObject()
 {
     return(OSMTileProvider.GetOSMTileGameObject(GetSuperTile()));
 }
コード例 #2
0
    public override void OnInspectorGUI()
    {
        EditorGUIUtility.LookLikeInspector();

        GUILayout.Label("OSMTileProvider", EditorStyles.boldLabel);

        int oldZoomLevel = OSMTileProviderBehaviour.CurrentZoomLevel;

        OSMTileProviderBehaviour.CurrentZoomLevel = EditorGUILayout.IntSlider("ZoomLevel", OSMTileProviderBehaviour.CurrentZoomLevel, 0, 18);
        if (OSMTileProviderBehaviour.CurrentZoomLevel != oldZoomLevel)
        {
            //OSMTileProvider.PrepareZoomGameObjects(oldZoomLevel);
            OSMTileProvider.SetZoomLevelVisible(oldZoomLevel, false);
            OSMTileProvider.SetZoomLevelVisible(OSMTileProviderBehaviour.CurrentZoomLevel, true);
        }


        currentIndexX = EditorGUILayout.IntSlider("X", currentIndexX, 0, OSMTileProvider.TileCountForZoomLevel(zoomlevel) - 1);
        currentIndexY = EditorGUILayout.IntSlider("Y", currentIndexY, 0, OSMTileProvider.TileCountForZoomLevel(zoomlevel) - 1);

        if (GUILayout.Button("Download Tile"))
        {
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        }


        if (GUILayout.Button("Download Tile (with Neighbours)"))
        {
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);

            OSMTileProvider.GetOSMTileGameObject(currentIndexX - 1, currentIndexY - 1, zoomlevel);
            OSMTileProvider.GetOSMTileGameObject(currentIndexX - 1, currentIndexY, zoomlevel);
            OSMTileProvider.GetOSMTileGameObject(currentIndexX - 1, currentIndexY + 1, zoomlevel);

            OSMTileProvider.GetOSMTileGameObject(currentIndexX + 1, currentIndexY - 1, zoomlevel);
            OSMTileProvider.GetOSMTileGameObject(currentIndexX + 1, currentIndexY, zoomlevel);
            OSMTileProvider.GetOSMTileGameObject(currentIndexX + 1, currentIndexY + 1, zoomlevel);

            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY - 1, zoomlevel);
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY + 1, zoomlevel);
        }


        EditorGUILayout.Separator();
        EditorGUILayout.Separator();

        GUILayout.BeginVertical();
        GUILayout.BeginHorizontal();
        GUILayout.Space(25f);
        if (GUILayout.Button("^", GUILayout.Width(25f)))
        {
            currentIndexY -= 1;
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("<", GUILayout.Width(25f)))
        {
            currentIndexX -= 1;
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        }
        GUILayout.Space(20f);

        if (GUILayout.Button(">", GUILayout.Width(25f)))
        {
            currentIndexX += 1;
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Space(25f);

        if (GUILayout.Button("v", GUILayout.Width(25f)))
        {
            currentIndexY += 1;
            OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        }
        GUILayout.EndHorizontal();
        GUILayout.EndVertical();


        if (GUILayout.Button("ResetProvider --> Delete Children"))
        {
            osmTileProviderBehaviour.gameObject.DeleteChildren();
            OSMTileProvider.Clear();
        }


        if (GUILayout.Button("Download Bounds"))
        {
            OSMTileProvider.GetOSMTileGameObjectsInBoundingBoxCutting(OSMTileProviderBehaviour.mapBounds, OSMTileProviderBehaviour.CurrentZoomLevel);
        }

        //if (GUI.changed)
        //{
        //    EditorUtility.SetDirty(osmTileProviderBehaviour);
        //}

        DrawDefaultInspector();
    }
コード例 #3
0
    public override void OnInspectorGUI()
    {
        EditorGUIUtility.LookLikeInspector();

        GUILayout.Label("OSMMapTile-Editor", EditorStyles.boldLabel);

        int oldZoomLevel = OSMTileProviderBehaviour.CurrentZoomLevel;

        OSMTileProviderBehaviour.CurrentZoomLevel = EditorGUILayout.IntSlider("ZoomLevel", OSMTileProviderBehaviour.CurrentZoomLevel, 0, 18);
        if (OSMTileProviderBehaviour.CurrentZoomLevel != oldZoomLevel)
        {
            //OSMTileProvider.PrepareZoomGameObjects(oldZoomLevel);
            OSMTileProvider.SetZoomLevelVisible(oldZoomLevel, false);
            OSMTileProvider.SetZoomLevelVisible(OSMTileProviderBehaviour.CurrentZoomLevel, true);
        }


        EditorGUILayout.IntSlider("X", osmTileBehaviour.tile.X, 0, OSMTileProvider.TileCountForZoomLevel(zoomlevel) - 1);
        EditorGUILayout.IntSlider("Y", osmTileBehaviour.tile.Y, 0, OSMTileProvider.TileCountForZoomLevel(zoomlevel) - 1);

        //if (GUILayout.Button("Download Tile"))
        //{
        //    OSMTileProvider.GetOSMTileGameObject(currentIndexX, currentIndexY, zoomlevel);
        //}

        if (GUILayout.Button("Download SuperTile"))
        {
            osmTileBehaviour.tile.GetSuperTileGameObject();
        }

        if (GUILayout.Button("Download SubTile"))
        {
            osmTileBehaviour.tile.GetSubTilesGameObjects();
        }

        if (GUILayout.Button("Load Neighbours"))
        {
            osmTileBehaviour.tile.GetNeightboursGameObjects();
        }


        EditorGUILayout.Separator();
        EditorGUILayout.Separator();

        GUILayout.BeginVertical();
        GUILayout.BeginHorizontal();
        GUILayout.Space(25f);
        if (GUILayout.Button("^", GUILayout.Width(25f)))
        {
            OSMTileProvider.GetOSMTileGameObject(osmTileBehaviour.tile.North);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("<", GUILayout.Width(25f)))
        {
            OSMTileProvider.GetOSMTileGameObject(osmTileBehaviour.tile.West);
        }
        GUILayout.Space(20f);

        if (GUILayout.Button(">", GUILayout.Width(25f)))
        {
            OSMTileProvider.GetOSMTileGameObject(osmTileBehaviour.tile.East);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Space(25f);

        if (GUILayout.Button("v", GUILayout.Width(25f)))
        {
            OSMTileProvider.GetOSMTileGameObject(osmTileBehaviour.tile.South);
        }
        GUILayout.EndHorizontal();
        GUILayout.EndVertical();



        if (GUI.changed)
        {
            EditorUtility.SetDirty(osmTileBehaviour);
        }

        DrawDefaultInspector();
    }