예제 #1
0
    private void creacionParte1Interfaz()
    {
        GUI.Label(new Rect(cuantoW * 2, cuantoH * 7, cuantoW * 15, cuantoH * 1), "Introduzca los parametros de busqueda para el proximo planeta a colonizar.", "label_centrada");
        GUI.Box(new Rect(cuantoW, cuantoH * 9, cuantoW * 10, cuantoH * 19), "");
        GUILayout.BeginArea(new Rect(cuantoW, cuantoH * 9, cuantoW * 10, cuantoH * 19));
        GUILayout.BeginVertical();
        //Controles para alterar el tipo de terreno a crear aleatoriamente: cosas que no influyan mucho, nombre, etc. o cosas que
        //influyan en la creacion del ruido, por ejemplo el numero de octavas a usar podemos llamarlo "factor de erosion" o cosas asi.
        //Despues de este paso se crea el mapa aleatorio con ruido.

        GUILayout.Label("Altura del terreno", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Bajo");
        gananciaInit = GUILayout.HorizontalSlider(gananciaInit, 0.45f, 0.55f);
        GUILayout.Label("Alto");
        GUILayout.EndHorizontal();
        if (gananciaInit <= 0.475f)
        {
            GUILayout.Label("Bajo");
        }
        else if (gananciaInit <= 0.5f)
        {
            GUILayout.Label("Normal");
        }
        else if (gananciaInit <= 0.525f)
        {
            GUILayout.Label("Alto");
        }
        else
        {
            GUILayout.Label("Muy alto");
        }

        GUILayout.Label("Tama\u00f1o de continentes", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Bajo");
        escalaInit = GUILayout.HorizontalSlider(escalaInit, 0.0055f, 0.001f);
        GUILayout.Label("Alto");
        GUILayout.EndHorizontal();
        if (escalaInit >= 0.0045f)
        {
            GUILayout.Label("Islas peque\u00f1as");
        }
        else if (escalaInit >= 0.0033f)
        {
            GUILayout.Label("Islas grandes");
        }
        else if (escalaInit >= 0.0021f)
        {
            GUILayout.Label("Continentes");
        }
        else
        {
            GUILayout.Label("Grandes continentes");
        }

        GUILayout.Label("Irregularidad del relieve", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Baja");
        octavasFloat = GUILayout.HorizontalSlider(octavasFloat, 2.0f, 10.0f);
        GUILayout.Label("Alta");
        GUILayout.EndHorizontal();
        if (octavasFloat <= 4.0f)
        {
            GUILayout.Label("Terreno liso");
        }
        else if (octavasFloat <= 6.0f)
        {
            GUILayout.Label("Con relieve");
        }
        else if (octavasFloat <= 8.0f)
        {
            GUILayout.Label("Escarpado");
        }
        else
        {
            GUILayout.Label("Muy escarpado");
        }

        GUILayout.Label("Variacion", "label_centrada");
        GUILayout.BeginHorizontal();
        GUILayout.Label("Baja");
        lacunaridadInit = GUILayout.HorizontalSlider(lacunaridadInit, 1.4f, 3.1f);
        GUILayout.Label("Alta");
        GUILayout.EndHorizontal();
        float lacunaridadInitTemp = (lacunaridadInit - 1.4f) / (3.1f - 1.4f);

        if (lacunaridadInitTemp <= 0.25f)
        {
            GUILayout.Label("Muy regular");
        }
        else if (lacunaridadInitTemp <= 0.5f)
        {
            GUILayout.Label("Regular");
        }
        else if (lacunaridadInitTemp <= 0.75f)
        {
            GUILayout.Label("Irregular");
        }
        else
        {
            GUILayout.Label("Muy irregular");
        }

        if (GUILayout.Button(new GUIContent("Buscar", "Busca un planeta con esos parametros."), GUILayout.Height(cuantoH * 1.5f)))
        {
            FuncTablero.setEscala(escalaInit);
            FuncTablero.setGanancia(gananciaInit);
            FuncTablero.setLacunaridad(lacunaridadInit);
            FuncTablero.setOctavas2((int)octavasFloat);
            FuncTablero.reiniciaPerlin();
            StartCoroutine(creacionParte1());
        }

        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 al men\u00fa principal"), GUILayout.Height(cuantoH)))
        {
            faseCreacion = 0;
            estado       = 0;
//			objetoRoca.renderer.enabled = false;
            objetoRoca.animation.Play("HologramaDesaparecer");
            Camera.main.animation.Play("AlejarseHolograma");
        }
        GUILayout.Space(cuantoW * 28);
        string tooltipTemp = "Pasar a la segunda fase";

        if (!paso1Completado)
        {
            tooltipTemp = "Generar un planeta primero";
            GUI.enabled = false;
        }
        if (GUILayout.Button(new GUIContent("Siguiente", tooltipTemp), GUILayout.Height(cuantoH)))
        {
            faseCreacion = 1;
        }
        GUI.enabled = true;

        GUILayout.EndHorizontal();
        GUILayout.EndArea();
    }