void ComunsDoFadeIn(Color corDoFade) { this.corDoFade = corDoFade; this.corDoFade.a = 1; fase = FaseDaqui.clareando; tempoDecorrido = 0; }
void ComunsDeFadeOut(Color corDoFade) { escurecedorLower.gameObject.SetActive(true); escurecedorUpper.gameObject.SetActive(true); this.corDoFade = corDoFade; this.corDoFade.a = 0; fase = FaseDaqui.escurecendo; tempoDecorrido = 0; }
// Update is called once per frame void Update() { if (escurecer) { IniciarFadeOut(); escurecer = false; } if (clarear) { IniciarFadeIn(); clarear = false; } switch (fase) { case FaseDaqui.escurecendo: tempoDecorrido += Time.fixedDeltaTime; corDoFade.a = tempoDecorrido / tempoDeEscurecimento; escurecedorUpper.color = corDoFade; escurecedorLower.color = corDoFade; if (tempoDecorrido > tempoDeEscurecimento) { fase = FaseDaqui.emEspera; ChamarAcao(); EventAgregator.Publish(EventKey.fadeOutComplete, null); } break; case FaseDaqui.clareando: tempoDecorrido += Time.fixedDeltaTime; corDoFade.a = (tempoDeEscurecimento - tempoDecorrido) / tempoDeEscurecimento; escurecedorUpper.color = corDoFade; escurecedorLower.color = escurecedorUpper.color; if (tempoDecorrido > tempoDeEscurecimento) { fase = FaseDaqui.emEspera; EventAgregator.Publish(EventKey.fadeInComplete, null); ChamarAcao(); escurecedorLower.gameObject.SetActive(false); escurecedorUpper.gameObject.SetActive(false); } break; } }