Esempio n. 1
0
    private void creacionParte2Interfaz()
    {
        GUI.Label(new Rect(cuantoW * 2, cuantoH * 7, cuantoW * 15, cuantoH * 1), "Especifique los detalles de la orografia del planeta deseado.", "label_centrada");
        GUI.Box(new Rect(cuantoW, cuantoH * 9, cuantoW * 10, cuantoH * 19), "");
        GUILayout.BeginArea(new Rect(cuantoW, cuantoH * 9, cuantoW * 10, cuantoH * 15));
        GUILayout.BeginVertical();
        //Controles para alterar el tipo de terreno ya creado: tipo de planeta a escoger con la "rampa" adecuada, altura de las montañas,
        //cantidad de agua, etc.
        //Despues de este paso se colorea el mapa creado.

        GUILayout.Label("Nivel del agua", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Min");
        nivelAguaInit = GUILayout.HorizontalSlider(nivelAguaInit, 0.15f, 0.45f);
        GUILayout.Label("Max");
        GUILayout.EndHorizontal();
        float nivelAguaTemp = Mathf.Lerp(0.0f, 1.0f, (nivelAguaInit - 0.15f) / (0.45f - 0.15f));

        if (nivelAguaTemp <= 0.25f)
        {
            GUILayout.Label("Muy bajo");
        }
        else if (nivelAguaTemp <= 0.5f)
        {
            GUILayout.Label("Bajo");
        }
        else if (nivelAguaTemp <= 0.75f)
        {
            GUILayout.Label("Alto");
        }
        else
        {
            GUILayout.Label("Muy alto");
        }

        if (GUI.changed)
        {
            objetoRoca.renderer.sharedMaterials[1].SetFloat("_nivelMar", nivelAguaInit);
        }

        GUILayout.Label("Temperatura del planeta", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Min");
        temperaturaInit = GUILayout.HorizontalSlider(temperaturaInit, 0.0f, 1.0f);
        GUILayout.Label("Max");
        GUILayout.EndHorizontal();
        if (temperaturaInit <= 0.25f)
        {
            GUILayout.Label("Helado");
        }
        else if (temperaturaInit <= 0.5f)
        {
            GUILayout.Label("Frio");
        }
        else if (temperaturaInit <= 0.75f)
        {
            GUILayout.Label("Calido");
        }
        else
        {
            GUILayout.Label("Abrasador");
        }

        GUILayout.Label("Longitud de las playas", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Min");
        tamanoPlayasInit = GUILayout.HorizontalSlider(tamanoPlayasInit, 0.02f, 0.06f);
        GUILayout.Label("Max");
        GUILayout.EndHorizontal();
        float tamanoPlayasTemp = Mathf.Lerp(0.0f, 1.0f, (tamanoPlayasInit - 0.02f) / (0.06f - 0.02f));

        if (tamanoPlayasTemp <= 0.25f)
        {
            GUILayout.Label("Muy peque\u00f1as");
        }
        else if (tamanoPlayasTemp <= 0.5f)
        {
            GUILayout.Label("Cortas");
        }
        else if (tamanoPlayasTemp <= 0.75f)
        {
            GUILayout.Label("Largas");
        }
        else
        {
            GUILayout.Label("Enormes");
        }
//		GUILayout.Label(tamanoPlayasInit.ToString());

        if (GUI.changed)
        {
            objetoRoca.renderer.sharedMaterials[1].SetFloat("_tamPlaya", tamanoPlayasInit);
        }

        GUILayout.EndVertical();
        GUILayout.EndArea();
        GUILayout.BeginArea(new Rect(cuantoW * 12, cuantoH * 28, cuantoW * 35, cuantoH * 2));
        GUILayout.BeginHorizontal();
        if (GUILayout.Button(new GUIContent("Volver", "Volver a la primera fase"), GUILayout.Height(cuantoH)))
        {
            faseCreacion = 0;
        }
        GUILayout.Space(cuantoW * 28);
        if (GUILayout.Button(new GUIContent("Siguiente", "Pasar a la tercera fase"), GUILayout.Height(cuantoH)))
        {
            FuncTablero.setNivelAgua(nivelAguaInit);
            FuncTablero.setTemperatura(temperaturaInit);
            FuncTablero.setTamanoPlaya(tamanoPlayasInit);
            StartCoroutine(creacionParte2());
        }
        GUILayout.EndHorizontal();
        GUILayout.EndArea();
    }