//Dibuja el bloque superior de la ventana que contiene: tiempo, control velocidad, conteo de recursos y menu principal
 private void bloqueSuperior()
 {
     float ajusteRecursos = 0;
     GUI.BeginGroup (new Rect (cuantoW * 0, cuantoH * 0, cuantoW * 80, cuantoH * 4));
     GUI.Box (new Rect (cuantoW * 0, cuantoH * 0, cuantoW * 73, cuantoH * 4), "", "BloqueSuperior");
     //Tiempo
     GUI.Label (new Rect (cuantoW * 2, cuantoH * 0, cuantoW * 6, cuantoH * 2), principal.numPasos.ToString (), "EtiquetaTiempo");
     /* [Aris]
      * He creado el metodo para formatear la fecha y que no salga solo un numero cutre, pero ahora mismo
      * no hay espacio en la cabecera. Lo dejo aqui comentado para que comentes una y descomentes la otra
      * si te animas ;)
      */
     //		GUI.Label(new Rect(cuantoW*2,cuantoH*0,cuantoW*6,cuantoH*2),FuncTablero.formateaFechaPasos(principal.numPasos),"EtiquetaTiempo");
     //Velocidad
     if (GUI.Button (new Rect (cuantoW * 3, cuantoH * 2, cuantoW * 1, cuantoH * 1), new GUIContent ("", "Pausa el juego"), "BotonPausa"))
         principal.setEscalaTiempo (0.0f);
     if (GUI.Button (new Rect (cuantoW * 4, cuantoH * 2, cuantoW * 1, cuantoH * 1), new GUIContent ("", "Velocidad normal"), "BotonVelocidad1"))
         principal.setEscalaTiempo (1.0f);
     if (GUI.Button (new Rect (cuantoW * 5, cuantoH * 2, cuantoW * 1, cuantoH * 1), new GUIContent ("", "Velocidad 2x"), "BotonVelocidad2"))
         principal.setEscalaTiempo (2.0f);
     if (GUI.Button (new Rect (cuantoW * 6, cuantoH * 2, cuantoW * 1, cuantoH * 1), new GUIContent ("", "Velocidad 5x"), "BotonVelocidad5"))
         principal.setEscalaTiempo (5.0f);
     //Energia
     GUI.Box (new Rect (cuantoW * 12, cuantoH * 0, cuantoW * 2, cuantoH * 2), new GUIContent ("", "Energía"), "IconoEnergia");
     GUI.Box (new Rect (cuantoW * 14, cuantoH * 0, cuantoW * 7, cuantoH * 2), new GUIContent ("", principal.energia.ToString () + "/" + principal.energiaMax.ToString ()), "BoxEnergia");
     ajusteRecursos = (System.Math.Abs (principal.energiaDif) < 100) ? 0 : 0.5f;
     GUI.Label (new Rect (cuantoW * 14, cuantoH * 0, cuantoW * (5 - ajusteRecursos), cuantoH * 2), principal.energia.ToString (), "LabelEnergia");
     if (principal.energiaDif >= 0)
         GUI.Label (new Rect (cuantoW * (19 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "+" + principal.energiaDif.ToString (), "LabelRecursosDifVerde");
     else
         GUI.Label (new Rect (cuantoW * (19 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "" + principal.energiaDif.ToString (), "LabelRecursosDifRojo");
     //Componentes basicos
     GUI.Box (new Rect (cuantoW * 22, cuantoH * 0, cuantoW * 2, cuantoH * 2), new GUIContent ("", "Componentes básicos"), "IconoCompBas");
     GUI.Box (new Rect (cuantoW * 24, cuantoH * 0, cuantoW * 7, cuantoH * 2), new GUIContent ("", principal.componentesBasicos.ToString () + "/" + principal.componentesBasicosMax.ToString ()), "BoxCompBas");
     ajusteRecursos = (System.Math.Abs (principal.componentesBasicosDif) < 100) ? 0 : 0.5f;
     GUI.Label (new Rect (cuantoW * 24, cuantoH * 0, cuantoW * (5 - ajusteRecursos), cuantoH * 2), principal.componentesBasicos.ToString (), "LabelCompBas");
     if (principal.componentesBasicosDif >= 0)
         GUI.Label (new Rect (cuantoW * (29 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "+" + principal.componentesBasicosDif.ToString (), "LabelRecursosDifVerde");
     else
         GUI.Label (new Rect (cuantoW * (29 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "" + principal.componentesBasicosDif.ToString (), "LabelRecursosDifRojo");
     //Componentes avanzados
     GUI.Box (new Rect (cuantoW * 32, cuantoH * 0, cuantoW * 2, cuantoH * 2), new GUIContent ("", "Componentes avanzados"), "IconoCompAdv");
     GUI.Box (new Rect (cuantoW * 34, cuantoH * 0, cuantoW * 7, cuantoH * 2), new GUIContent ("", principal.componentesAvanzados.ToString () + "/" + principal.componentesAvanzadosMax.ToString ()), "BoxCompAdv");
     ajusteRecursos = (System.Math.Abs (principal.componentesAvanzadosDif) < 100) ? 0 : 0.5f;
     GUI.Label (new Rect (cuantoW * 34, cuantoH * 0, cuantoW * (5 - ajusteRecursos), cuantoH * 2), principal.componentesAvanzados.ToString (), "LabelCompAdv");
     if (principal.componentesAvanzadosDif >= 0)
         GUI.Label (new Rect (cuantoW * (39 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "+" + principal.componentesAvanzadosDif.ToString (), "LabelRecursosDifVerde");
     else
         GUI.Label (new Rect (cuantoW * (39 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "" + principal.componentesAvanzadosDif.ToString (), "LabelRecursosDifRojo");
     //Material biologico
     GUI.Box (new Rect (cuantoW * 42, cuantoH * 0, cuantoW * 2, cuantoH * 2), new GUIContent ("", "Material biológico"), "IconoMatBio");
     GUI.Box (new Rect (cuantoW * 44, cuantoH * 0, cuantoW * 7, cuantoH * 2), new GUIContent ("", principal.materialBiologico.ToString () + "/" + principal.materialBiologicoMax.ToString ()), "BoxMatBio");
     ajusteRecursos = (System.Math.Abs (principal.materialBiologicoDif) < 100) ? 0 : 0.5f;
     GUI.Label (new Rect (cuantoW * 44, cuantoH * 0, cuantoW * (5 - ajusteRecursos), cuantoH * 2), principal.materialBiologico.ToString (), "LabelMatBio");
     if (principal.materialBiologicoDif >= 0)
         GUI.Label (new Rect (cuantoW * (49 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "+" + principal.materialBiologicoDif.ToString (), "LabelRecursosDifVerde");
     else
         GUI.Label (new Rect (cuantoW * (49 - ajusteRecursos), cuantoH * 0, cuantoW * (2 + ajusteRecursos), cuantoH * 2), "" + principal.materialBiologicoDif.ToString (), "LabelRecursosDifRojo");
     //Menu
     if (GUI.Button (new Rect (cuantoW * 73, cuantoH * 0, cuantoW * 7, cuantoH * 4), new GUIContent ("", "Accede al menu del juego"), "BotonMenu")) {
         escalaTiempoAntesMenu = principal.escalaTiempo;
         principal.setEscalaTiempo (0);
         accion = InterfazPrincipal.taccion.mostrarMenu;
         accionMenu = InterfazPrincipal.taccionMenu.mostrarMenu;
     }
     GUI.EndGroup ();
 }
    //Dibuja el menu de opciones que contiene Guardar, Opciones de audio, Menu Principal, Salir, Volver
    private void bloqueMenu()
    {
        float posicionBloque = 0;
        float posicionConfirmar = 0;
        float posicionAudio = 0;
        float posicionGuardar = 0;
        switch (aspectRatio) {
        case taspectRatio.aspectRatio16_9:
            posicionBloque = 13.5f;
            posicionConfirmar = 19.5f;
            posicionAudio = 16.5f;
            posicionGuardar = 14.5f;
            break;
        case taspectRatio.aspectRatio16_10:
            posicionBloque = 16;
            posicionConfirmar = 22;
            posicionAudio = 19;
            posicionGuardar = 17;
            break;
        case taspectRatio.aspectRatio4_3:
            posicionBloque = 21;
            posicionConfirmar = 27;
            posicionAudio = 24;
            posicionGuardar = 22;
            break;
        default:
            break;
        }

        switch (accionMenu) {
        case taccionMenu.mostrarMenu:
            GUILayout.BeginArea (new Rect (cuantoW * 32.5f, cuantoH * posicionBloque, cuantoW * 15, cuantoH * 18), new GUIContent ());
            GUILayout.BeginVertical ();
            GUILayout.Box (new GUIContent (), "BloqueMenu", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15));
            if (GUILayout.Button (new GUIContent ("Guardar partida", "Accede al menu para guardar tu partida"), "BotonGuardarPartida", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15)))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarGuardar;
            if (GUILayout.Button (new GUIContent ("Opciones de audio", "Lleva al menu de opciones de audio"), "BotonOpcionesAudio", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15)))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarOpcionesAudio;
            if (GUILayout.Button (new GUIContent ("Menu principal", "Lleva al menu principal del juego"), "BotonMenuPrincipal", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15)))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarSalirMenuPrincipal;
            if (GUILayout.Button (new GUIContent ("Salir del juego", "Cierra completamente el juego"), "BotonSalirJuego", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15)))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarSalirJuego;
            if (GUILayout.Button (new GUIContent ("Volver", "Vuelve a la partida"), "BotonVolver", GUILayout.Height (cuantoH * 3), GUILayout.Width (cuantoW * 15))) {
                accion = InterfazPrincipal.taccion.ninguna;
                principal.setEscalaTiempo (escalaTiempoAntesMenu);
            }
            GUILayout.EndVertical ();
            GUILayout.EndArea ();
            if (GUI.Button (new Rect (0, 0, cuantoW * 80, cuantoH * 60), new GUIContent (), "EstiloVacio")) {
                ;
                //CLINK -> Control para que no se pulse fuera del menú (Buena idea!)
            }
            break;

        case taccionMenu.mostrarGuardar:
            GUI.Box (new Rect (cuantoW * 31, cuantoH * posicionGuardar, cuantoW * 18, cuantoH * 14), new GUIContent (""), "BoxGuardar");
            posicionScroll = GUI.BeginScrollView (new Rect (cuantoW * 31, cuantoH * posicionGuardar, cuantoW * 18, cuantoH * 12), posicionScroll, new Rect (0, 0, cuantoW * 18, cuantoH * 4 * numSavesExtra));
            if (GUI.Button (new Rect (cuantoW * 3, 0, cuantoW * 12, cuantoH * 3), new GUIContent ("Nueva partida salvada", "Guardar una nueva partida"))) {
                GameObject contenedor = GameObject.FindGameObjectWithTag ("Carga");
                ValoresCarga temp = contenedor.GetComponent<ValoresCarga> ();
                principal.rellenaContenedor (ref temp);
                string fecha = System.DateTime.Now.ToString ().Replace ("\\", "").Replace ("/", "").Replace (" ", "").Replace (":", "");
                SaveLoad.cambiaFileName ("Partida" + fecha + ".hur");
                SaveLoad.Save (temp);
                //Recargar los saves para actualizar estado
                numSaves = SaveLoad.FileCount ();
                nombresSaves = new string[numSaves];
                nombresSaves = SaveLoad.getFileNames ();
                numSavesExtra = numSaves - 3;
                if (numSavesExtra < 0)
                    numSavesExtra = 0;
                //Recuperar estado normal
                accion = InterfazPrincipal.taccion.ninguna;
                principal.setEscalaTiempo (escalaTiempoAntesMenu);
            }
            for (int i = 0; i < numSaves; i++) {
                if (GUI.Button (new Rect (cuantoW * 3, (i + 1) * cuantoH * 3, cuantoW * 12, cuantoH * 3), new GUIContent (nombresSaves[i], "Sobreescribir partida num. " + i))) {
                    GameObject contenedor = GameObject.FindGameObjectWithTag ("Carga");
                    ValoresCarga temp = contenedor.GetComponent<ValoresCarga> ();
                    principal.rellenaContenedor (ref temp);
                    SaveLoad.cambiaFileName (nombresSaves[i]);
                    SaveLoad.Save (temp);
                    //Recuperar estado normal
                    accion = InterfazPrincipal.taccion.ninguna;
                    principal.setEscalaTiempo (escalaTiempoAntesMenu);
                }
            }

            GUI.EndScrollView ();
            if (GUI.Button (new Rect (cuantoW * 44, cuantoH * (posicionGuardar + 13), cuantoW * 5, cuantoH * 2), new GUIContent ("Volver", "Pulsa aquí para volver al menu de opciones"))) {
                accionMenu = InterfazPrincipal.taccionMenu.mostrarMenu;
            }
            break;
        case taccionMenu.mostrarOpcionesAudio:
            GUI.Box (new Rect (cuantoW * 32.5f, cuantoH * posicionAudio, cuantoW * 15, cuantoH * 12), new GUIContent (), "BoxOpcionesAudio");
            /*GUI.Label(new Rect(cuantoW*34f,cuantoH*(posicionAudio),cuantoW*15.5f,cuantoH*2),new GUIContent("Sonido"));*/
            GUI.Label (new Rect (cuantoW * 34f, cuantoH * (posicionAudio + 2f), cuantoW * 9, cuantoH * 2), new GUIContent ("Volumen"));
            GUI.Label (new Rect (cuantoW * 34f, cuantoH * (posicionAudio + 4f), cuantoW * 6.5f, cuantoH * 2), new GUIContent ("Música"));
            musicaVol = GUI.HorizontalSlider (new Rect (cuantoW * 39f, cuantoH * (posicionAudio + 5f), cuantoW * 7, cuantoH * 2), musicaVol, 0, 1.0f);
            GUI.Label (new Rect (cuantoW * 34f, cuantoH * (posicionAudio + 6f), cuantoW * 5.5f, cuantoH * 2), new GUIContent ("Efectos"));
            sfxVol = GUI.HorizontalSlider (new Rect (cuantoW * 39f, cuantoH * (posicionAudio + 7f), cuantoW * 7, cuantoH * 2), sfxVol, 0, 1.0f);
            if (GUI.Button (new Rect (cuantoW * 41f, cuantoH * (posicionAudio + 9.5f), cuantoW * 5f, cuantoH * 2f), new GUIContent ("Volver", "Pulsa aquí para volver al menu de opciones")))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarMenu;

            if (GUI.changed) {
                //Volumen del audio ambiente
                Audio_Ambiente ambiente = sonidoAmbiente.GetComponent<Audio_Ambiente> ();
                if (musicaVol == 0)
                    ambiente.activado = false;
                else
                    ambiente.activado = true;
                ambiente.volumen = musicaVol;
                //Volumen del audio de efectos
                Audio_SoundFX efectos = sonidoFX.GetComponent<Audio_SoundFX> ();
                if (sfxVol == 0)
                    efectos.activado = false;
                else
                    efectos.activado = true;
                efectos.volumen = sfxVol;
            }
            break;
        case taccionMenu.mostrarSalirMenuPrincipal:
            GUI.Box (new Rect (cuantoW * 36, cuantoH * posicionConfirmar, cuantoW * 8, cuantoH * 4), new GUIContent (), "BoxConfirmacion");
            GUI.Label (new Rect (cuantoW * 37.5f, cuantoH * (posicionConfirmar), cuantoW * 6, cuantoH * 2), new GUIContent ("¿Está seguro?"));
            if (GUI.Button (new Rect (cuantoW * 37, cuantoH * (posicionConfirmar + 2), cuantoW * 2.5f, cuantoH * 1.5f), new GUIContent ("Si", "Pulsa aquí para salir al menu principal"))) {
                accion = InterfazPrincipal.taccion.ninguna;
                principal.setEscalaTiempo (1.0f);
                FuncTablero.quitaPerlin ();
                Application.LoadLevel ("Escena_Inicial");
            }
            if (GUI.Button (new Rect (cuantoW * 40.5f, cuantoH * (posicionConfirmar + 2), cuantoW * 2.5f, cuantoH * 1.5f), new GUIContent ("No", "Pulsa aquí para volver al menu de opciones")))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarMenu;
            break;
        case taccionMenu.mostrarSalirJuego:
            GUI.Box (new Rect (cuantoW * 36, cuantoH * posicionConfirmar, cuantoW * 8, cuantoH * 4), new GUIContent (), "BoxConfirmacion");
            GUI.Label (new Rect (cuantoW * 37.5f, cuantoH * (posicionConfirmar), cuantoW * 6, cuantoH * 2), new GUIContent ("¿Está seguro?"));
            if (GUI.Button (new Rect (cuantoW * 37, cuantoH * (posicionConfirmar + 2), cuantoW * 2.5f, cuantoH * 1.5f), new GUIContent ("Si", "Pulsa aquí para salir del juego"))) {
                PlayerPrefs.Save();
                Application.Quit ();
            }
            if (GUI.Button (new Rect (cuantoW * 40.5f, cuantoH * (posicionConfirmar + 2), cuantoW * 2.5f, cuantoH * 1.5f), new GUIContent ("No", "Pulsa aquí para volver al menu de opciones")))
                accionMenu = InterfazPrincipal.taccionMenu.mostrarMenu;
            break;
        default:
            break;
        }
    }