Ejemplo n.º 1
0
    void OnGUI()
    {
        GUILayout.Label("Note: ProtoWorld Essentials is required. The parameters from MapBoundaries (in AramGISBoundaries) needs to be already set. Notice that this tool is experimental: it may produce unexpected malfunctioning.", EditorStyles.helpBox);

        GUILayout.Space(10f);

        GUILayout.Label("Road tags:", EditorStyles.boldLabel);

        for (int i = 0; i < tagChecks.Length; i++)
        {
            tagChecks[i] = EditorGUILayout.Toggle(tags[i], tagChecks[i]);
        }

        GUILayout.Space(10f);

        if (GUILayout.Button("Generate roads"))
        {
            List <string> strs = new List <string>();
            for (int i = 0; i < tagChecks.Length; i++)
            {
                if (tagChecks[i])
                {
                    strs.Add(tags[i]);
                }
            }
            OSMReaderSQL.Import(strs.ToArray());
            Close();
        }
    }
Ejemplo n.º 2
0
    void OnGUI()
    {
        if (mapproperties == null)
        {
            Close();
        }

        GUILayout.Label("OSM Coordinates:", EditorStyles.boldLabel);

        coordinates[0] = EditorGUILayout.DoubleField("Min latitude", coordinates[0]);
        coordinates[1] = EditorGUILayout.DoubleField("Max latitude", coordinates[1]);
        coordinates[2] = EditorGUILayout.DoubleField("Min longitude", coordinates[2]);
        coordinates[3] = EditorGUILayout.DoubleField("Max longitude", coordinates[3]);

        GUILayout.Space(10f);

        GUILayout.Label("DB Connection Parameters:", EditorStyles.boldLabel);

        dbConnection[0] = EditorGUILayout.TextField("DB address", dbConnection[0]);
        dbConnection[1] = EditorGUILayout.TextField("DB port", dbConnection[1]);
        dbConnection[2] = EditorGUILayout.TextField("DB user id", dbConnection[2]);
        dbConnection[3] = EditorGUILayout.TextField("DB name", dbConnection[3]);
        dbConnection[4] = EditorGUILayout.TextField("DB password", dbConnection[4]);

        GUILayout.Space(10f);

        GUILayout.Label("Map Generation Options:", EditorStyles.boldLabel);

        generateBuildings = EditorGUILayout.Toggle("Generate buildings", generateBuildings);
        generateRoads     = EditorGUILayout.Toggle("Generate roads", generateRoads);
        generateWater     = EditorGUILayout.Toggle("Generate water areas", generateWater);

        GUILayout.Space(10f);

        if (GUILayout.Button("Generate map"))
        {
            mapproperties.minLat = coordinates[0];
            mapproperties.maxLat = coordinates[1];
            mapproperties.minLon = coordinates[2];
            mapproperties.maxLon = coordinates[3];

            mapproperties.serverAddress      = dbConnection[0];
            mapproperties.serverPort         = dbConnection[1];
            mapproperties.serverUserId       = dbConnection[2];
            mapproperties.serverDatabaseName = dbConnection[3];
            mapproperties.serverPassword     = dbConnection[4];

            Close();

            // Run the OSMReaderSQL methods
            if (generateBuildings && generateRoads)
            {
                OSMReaderSQL.Create2ServerSide();
            }
            else if (generateBuildings && !generateRoads)
            {
                OSMReaderSQL.Create2_2();
            }
            else if (!generateBuildings && generateRoads)
            {
                OSMReaderSQL.Create2_3();
            }
            if (generateWater)
            {
                OSMReaderSQL.CreateWaterAreas();
            }
        }
    }