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(); } objetoTocable.estado = Tocable.EstadoTocable.Incorrecto; VerificadorFinDeJuego.IncrementarItemsAsignados(); } } }
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(); }