public IEnumerator CIFrames() { _invincibleFrames = true; float time = 0.0f; var oldColor = _renderer.color; while (time < 1.0f) { oldColor = _renderer.color; oldColor.a = InvincibilityCurve.Evaluate(time / InvincibilityCurve.GetCurveLenght()); _renderer.color = oldColor; time += Time.deltaTime; yield return(new WaitForEndOfFrame()); } oldColor.a = 1; _renderer.color = oldColor; yield return(new WaitForSeconds(0.5f)); _invincibleFrames = false; yield return(null); }
public IEnumerator CUnscaledFlash() { var time = 0.0f; Material.SetFloat("_Fade", 0); while (time < FlashCurve.GetCurveLenght()) { time += Time.unscaledDeltaTime * Speed; Material.SetFloat("_Fade", FlashCurve.Evaluate(time)); yield return(null); } Material.SetFloat("_Fade", 0); yield return(null); }
private void Update() { // Pega a cor original para modificar Color original = _text.color; // Altera o valor de tempo _elapsedTime += Time.deltaTime * Speed; // Limita o tempo decorrido de acordo com o tamanho da AnimationCurve if (_elapsedTime > AnimationCurve.GetCurveLenght()) { _elapsedTime = 0; } // Modifica valor alfa da cor original original.a = AnimationCurve.Evaluate(_elapsedTime); // Retorna a cor para o _text _text.color = original; }