Beispiel #1
0
 public void createGenerators()
 {
     for (int i = 0; i < generators.Length; i++)
     {
         generators[i] = GeneratorCaster.castTG(generators[i]);
     }
 }
Beispiel #2
0
    void OnValidate()
    {
        Debug.Log("on validate");

        if (mesh_obj == null || mesh_filter == null)
        {
            if (mesh_obj == null)
            {
                Debug.Log("mesh_obj is null");
            }

            if (mesh_filter == null)
            {
                Debug.Log("mesh_filter is null");
            }

            Debug.Log("call init");
            initMesh(transform);
        }

        if (noise_options == null)
        {
            noise_options = new NoiseOptions(0.7f, 50, 1f);
        }

        if (generators == null || generators.Length == 0)
        {
            Debug.Log("making generators from tgopts");

            generators = new TerrainGenerator[tgopt.options.Length];

            for (int i = 0; i < tgopt.options.Length; i++)
            {
                generators[i] = GeneratorCaster.makeTG(tgopt.options[i], tgopt.types[i]);
            }
        }
        else
        {
            //todo later: make this better so it doesn't always re create the generators

            generators = new TerrainGenerator[tgopt.options.Length];
            for (int i = 0; i < tgopt.options.Length; i++)
            {
                generators[i] = GeneratorCaster.makeTG(tgopt.options[i], tgopt.types[i]);
            }

            /*
             * for(int i = 0; i < generators.Length; i++) {
             * generators[i] = GeneratorCaster.castTG(generators[i]);
             * }
             */
        }

        col_gen = new ColourGenerator(col_set);


        //Debug.Log("vert length : " + mesh_filter.sharedMesh.triangles.Length);

        if (mesh_filter.sharedMesh.vertices.Length == 0)
        {
            Debug.Log("mesh null");
        }


        Debug.Log("doing something");
        original_noise_grid = new float[noise_options.res * noise_options.res];
        generateTerrainIfNotReady();
        applyTerrain();
        terrain_mm = new MinMax();
        terrain_mm.addValues(noise_grid);
        terrain_mm.log();
        constructMesh();
    }