/// <summary>
    /// Constructor: Inicializa evaluaciones
    /// </summary>
    public PartidaController()
    {
        contadorOportunidad = 0;
        contadorErrores     = 0;


        evaluacion_400_20 = new bool[5];

        distanciaActual  = DistanciaSimuladaEnum.Escala_400_20;
        evaluacionActual = evaluacion_400_20;
        gameOver         = false;
        resumen          = "400/20";
    }
Example #2
0
        /// <summary>
        /// Define el tamanio del optotipo dependiendo de la distancia que se quiere simular
        /// </summary>
        public void AplicarEscala(GameObject optotipo, DistanciaSimuladaEnum distanciaSimulada, int indice)
        {
            float minutosDeArco;
            float distanciaReal;
            float tamanoOptotipo;
            float tamanoCorregido;

            // Distancia del objeto padre
            distanciaReal = optotipo.transform.parent.gameObject.transform.position.z;
            // Calcular los minutos de arco que debe sostener el optotipo a la distancia simulada
            minutosDeArco = (int)distanciaSimulada / (int)DistanciaSimuladaEnum.Escala_20_20 * MINUTOS_DE_ARCO_20_20;
            // Tamanio de optotipo sin correcion de area extra
            tamanoOptotipo = minutosDeArco * distanciaReal / MINUTOS_DE_ARCO_RADIAN;
            // Tamanio corregido del optotipo que se mostrara en pantalla
            tamanoCorregido = tamanoOptotipo / TAMANO_AREA_OPTOTIPO * TAMANO_AREA_OPCION;

            optotipo.transform.localScale = new Vector3(tamanoCorregido, tamanoCorregido, tamanoCorregido);
            DefinirPosicion(optotipo, tamanoCorregido, indice);
        }
    public void SiguienteEvaluacion()
    {
        contadorOportunidad = 0;
        contadorErrores     = 0;

        switch (distanciaActual)
        {
        case DistanciaSimuladaEnum.Escala_400_20:
            evaluacion_200_20 = new bool[5];
            distanciaActual   = DistanciaSimuladaEnum.Escala_200_20;
            evaluacionActual  = evaluacion_200_20;
            break;

        case DistanciaSimuladaEnum.Escala_200_20:
            resumen           = "200/20";
            evaluacion_100_20 = new bool[5];
            distanciaActual   = DistanciaSimuladaEnum.Escala_100_20;
            evaluacionActual  = evaluacion_100_20;
            break;

        case DistanciaSimuladaEnum.Escala_100_20:
            resumen          = "100/20";
            evaluacion_70_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_70_20;
            evaluacionActual = evaluacion_70_20;
            break;

        case DistanciaSimuladaEnum.Escala_70_20:
            resumen          = "70/20";
            evaluacion_50_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_50_20;
            evaluacionActual = evaluacion_50_20;
            break;

        case DistanciaSimuladaEnum.Escala_50_20:
            resumen          = "50/20";
            evaluacion_40_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_40_20;
            evaluacionActual = evaluacion_40_20;
            break;

        case DistanciaSimuladaEnum.Escala_40_20:
            resumen          = "40/20";
            evaluacion_30_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_30_20;
            evaluacionActual = evaluacion_30_20;
            break;

        case DistanciaSimuladaEnum.Escala_30_20:
            resumen          = "30/20";
            evaluacion_25_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_25_20;
            evaluacionActual = evaluacion_25_20;
            break;

        case DistanciaSimuladaEnum.Escala_25_20:
            resumen          = "25/20";
            evaluacion_20_20 = new bool[5];
            distanciaActual  = DistanciaSimuladaEnum.Escala_20_20;
            evaluacionActual = evaluacion_20_20;
            break;

        case DistanciaSimuladaEnum.Escala_20_20:
            resumen  = "20/20";
            gameOver = true;
            break;
        }
    }