예제 #1
0
    void UsarVerificador(TipoVerificacion v)
    {
        if (objetoTocable == null)
        {
            return;
        }
        //Si esta verificacion es la misma que el objeto ya tiene...
        bool esElMismo = objetoTocable.estado == Tocable.EstadoTocable.Correcto && v == TipoVerificacion.correcto ||
                         objetoTocable.estado == Tocable.EstadoTocable.Incorrecto && v == TipoVerificacion.incorrecto;

        if (!esElMismo)
        {
            if (v != TipoVerificacion.ignorar)
            {
                if (objetoTocable.estado != Tocable.EstadoTocable.SinAsignar)
                {
                    VerificadorFinDeJuego.DecrementarItemsAsignados();
                    if (objetoTocable.estado == Tocable.EstadoTocable.Correcto)
                    {
                        VerificadorFinDeJuego.DecrementarItemsCorrectos();
                    }
                }
                if (v == TipoVerificacion.correcto)
                {
                    objetoTocable.estado = Tocable.EstadoTocable.Correcto;
                    VerificadorFinDeJuego.IncrementarItemsCorrectos();
                    VerificadorFinDeJuego.IncrementarItemsAsignados();
                }
                if (v == TipoVerificacion.incorrecto)
                {
                    objetoTocable.estado = Tocable.EstadoTocable.Incorrecto;
                    VerificadorFinDeJuego.IncrementarItemsAsignados();
                }
            }
        }
        VerificadorFinDeJuego.Log();
    }
예제 #2
0
    public void LanzarSombrilla(bool negra)
    {
        GameObject sombrilla;

        #region Codigo Eduardo
        //Si es negra
        if (negra == true)
        {
            //Entonces poner sombrilla negra
            sombrilla = Instantiate(sombrillaNegra, polvosMagicos.transform.position, sombrillaNegra.transform.rotation) as GameObject;
        }
        //Sino
        else
        {
            ///Enonces poner Sombrilla blanca
            sombrilla = Instantiate(sombrillaBlanca, polvosMagicos.transform.position, sombrillaBlanca.transform.rotation) as GameObject;
        }
        #endregion
        #region Codigo Hendrys
        //Si no esta tocando la cama
        if (!isTouchingBed)
        {
            //La sombrilla se destruira en un segundo
            Destroy(sombrilla, 1.0f);
        }
        //De otro modo...
        else
        {
            //Poner la sombrilla en el gancho de la cama
            CamaConNinyo camaConNinyoObjeto = camaConNinyo.GetComponent <CamaConNinyo>();

            //si es la misma sombrilla que ya esta puesta
            bool mismaSombrilla = camaConNinyoObjeto.sombrillaAsignada == CamaConNinyo.EstadoSombrilla.Negra && negra == true ||
                                  camaConNinyoObjeto.sombrillaAsignada == CamaConNinyo.EstadoSombrilla.Blanca && negra == false;
            if (mismaSombrilla)
            {
                Destroy(sombrilla);
            }
            if (!mismaSombrilla)
            {
                Transform gancho = camaConNinyoObjeto.gancho;
                //Si el gancho ya tiene hijos..
                if (gancho.childCount > 0)
                {
                    //Destruir su hijo
                    Destroy(gancho.GetChild(0).gameObject);
                    VerificadorFinDeJuego.DecrementarItemsAsignados();
                    if (camaConNinyoObjeto.EstaCorrectamenteAsignado)
                    {
                        VerificadorFinDeJuego.DecrementarItemsCorrectos();
                    }
                }

                if (negra)
                {
                    camaConNinyoObjeto.sombrillaAsignada = CamaConNinyo.EstadoSombrilla.Negra;
                }
                else
                {
                    camaConNinyoObjeto.sombrillaAsignada = CamaConNinyo.EstadoSombrilla.Blanca;
                }

                sombrilla.transform.position = gancho.transform.position;

                sombrilla.transform.parent = gancho;

                //Llamar al verificador pues se ha colocado una somrbilla
                //Una vez se ha puesto la sombrilla, se verifica si se ha asignado correctamente
                if (camaConNinyoObjeto.sombrillaAsignada == CamaConNinyo.EstadoSombrilla.Negra && !camaConNinyoObjeto.EsBueno
                    ||
                    camaConNinyoObjeto.sombrillaAsignada == CamaConNinyo.EstadoSombrilla.Blanca && camaConNinyoObjeto.EsBueno)
                {
                    VerificadorFinDeJuego.IncrementarItemsCorrectos();
                }
                VerificadorFinDeJuego.IncrementarItemsAsignados();
            }
        }
        #endregion



        //Reproducir Sonido de Chispas
        audio.PlayOneShot(shimmer);
        VerificadorFinDeJuego.Log();
    }