private IEnumerator _TextValue(TextMeshProUGUI text, string format, int from, int to, float time, float delay = 0, EffectOver effectOver = null) { float ElapsedTime = 0.0f; if (format == "") { format = "{0}"; } yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (text == null) { break; } ElapsedTime += Time.deltaTime; int currentVal = (int)Mathf.Lerp(from, to, (ElapsedTime / time)); text.text = string.Format(format, currentVal.ToString()); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
//Canvas group private IEnumerator _CanvasGroupAlpha(CanvasGroup cg, float visible, float time, float delay = 0, EffectOver effectOver = null) { float ElapsedTime = 0.0f; float startingVal = cg.alpha; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (cg == null) { break; } ElapsedTime += Time.deltaTime; cg.alpha = Mathf.Lerp(startingVal, visible, (ElapsedTime / time)); yield return(null); } cg.blocksRaycasts = (visible == 1) ? true:false; cg.interactable = (visible == 1) ? true : false; if (effectOver != null) { effectOver.Invoke(); } }
private IEnumerator _Rotate(RectTransform rectTransform, Quaternion rotation, float time, float delay = 0, EffectOver effectOver = null, AnimationCurve curve = null) { float ElapsedTime = 0.0f; Quaternion startRot = rectTransform.rotation; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (rectTransform == null) { break; } ElapsedTime += Time.deltaTime; float value = (curve == null) ? (ElapsedTime / time) : curve.Evaluate((ElapsedTime / time)); rectTransform.rotation = Quaternion.Lerp(startRot, rotation, value); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
private IEnumerator _Move(RectTransform rectTransform, Vector3 point, float time, float delay = 0, EffectOver effectOver = null, AnimationCurve curve = null) { float ElapsedTime = 0.0f; Vector3 startPos = rectTransform.anchoredPosition; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (rectTransform == null) { break; } ElapsedTime += Time.deltaTime; float value = (curve == null) ? (ElapsedTime / time) : curve.Evaluate((ElapsedTime / time)); rectTransform.anchoredPosition = Vector3.Lerp(startPos, point, value); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
//Rect private IEnumerator _Scale(RectTransform _transform, Vector3 size, float time, float delay = 0, EffectOver effectOver = null, AnimationCurve curve = null) { float ElapsedTime = 0.0f; Vector3 startingScale = _transform.localScale; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (_transform == null) { break; } ElapsedTime += Time.deltaTime; float value = (curve == null) ? (ElapsedTime / time) : curve.Evaluate((ElapsedTime / time)); _transform.localScale = Vector3.Lerp(startingScale, size, value); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
//Text private IEnumerator _TextFade(TextMeshProUGUI text, Color color, float time, float delay = 0, EffectOver effectOver = null, AnimationCurve curve = null) { float ElapsedTime = 0.0f; Color startingColor = text.color; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (text == null) { break; } ElapsedTime += Time.deltaTime; float value = (curve == null) ? (ElapsedTime / time) : curve.Evaluate((ElapsedTime / time)); text.color = Color.Lerp(startingColor, color, value); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
private IEnumerator _Fill(Image image, float value, float time, float delay = 0, EffectOver effectOver = null, AnimationCurve curve = null) { float ElapsedTime = 0.0f; float startingVal = image.fillAmount; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (image == null) { break; } ElapsedTime += Time.deltaTime; float timeValue = (curve == null) ? (ElapsedTime / time) : curve.Evaluate((ElapsedTime / time)); image.fillAmount = Mathf.Lerp(startingVal, value, timeValue); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }
private IEnumerator _TextAdder(TextMeshProUGUI text, char[] chars, float time, float delay = 0, EffectOver effectOver = null) { float TimeForEachChar = time / chars.Length; yield return(new WaitForSeconds(delay)); foreach (char c in chars) { if (text == null) { break; } text.text += c; yield return(new WaitForSeconds(TimeForEachChar)); } if (effectOver != null) { effectOver.Invoke(); } }
//Image private IEnumerator _Fade(Image image, Color color, float time, float delay = 0, EffectOver effectOver = null) { float ElapsedTime = 0.0f; Color startingColor = image.color; yield return(new WaitForSeconds(delay)); while (ElapsedTime < time) { if (image == null) { break; } ElapsedTime += Time.deltaTime; image.color = Color.Lerp(startingColor, color, (ElapsedTime / time)); yield return(null); } if (effectOver != null) { effectOver.Invoke(); } }