public static BlinkColorOptions GetDefaultOptionsBlink(SpriteRenderer renderer) { var fadeOptions = new BlinkColorOptions(); fadeOptions.Color1 = renderer.color; fadeOptions.Color2 = Color.gray; return(fadeOptions); }
public void BlinkColor(BlinkColorOptions options) { if (Time.time - lastBlinkTime > BlinkFrequency) { lastBlinkTime = Time.time; StartCoroutine(BlinkColorFx(options)); } }
public static BlinkColorOptions Damage(SpriteRenderer renderer) { var fadeOptions = new BlinkColorOptions(); fadeOptions.Color1 = renderer.color; fadeOptions.Color2 = Color.red; fadeOptions.Time = .05f; return(fadeOptions); }
IEnumerator BlinkColorFx(BlinkColorOptions options) { yield return(new WaitForSeconds(options.Time)); rend.material.color = Color.Lerp(options.Color2, options.Color1, options.Time); yield return(new WaitForSeconds(options.Time)); if (!options.returnOnEnd) { yield break; // return false? } rend.material.color = Color.Lerp(options.Color1, options.Color2, options.Time); yield return(new WaitForSeconds(options.Time)); }
public void GotDamageFX() { SendMessage("BlinkColor", BlinkColorOptions.Damage(GetComponent <SpriteRenderer>()), SendMessageOptions.DontRequireReceiver); }