/// <summary> /// this allows you to fade Text anim /// </summary> /// <returns>Nothing</returns> public static IEnumerator TextFadeAnim(this Text text, string willBeText) { List <TextData> textDatas = new List <TextData>(); StringBuilder stringBuilder = new StringBuilder(text.text.Length); text.text = string.Empty; for (short i = 0; i < text.text.Length; i++) { text.text += Space; stringBuilder[i] = Space; } for (short i = 0; i < willBeText.Length; i++) { textDatas.Add(new TextData(willBeText[i], i)); } while (textDatas.Count > 0) { var textData = textDatas[RandomReal.Range(0, textDatas.Count)]; stringBuilder[textData.id] = textData._char; text.text = stringBuilder.ToString(); textDatas.Remove(textData); yield return(TextUpdateTime); } }
/// <summary> /// this allows you to Disolve Text anim /// </summary> /// <returns>Nothing</returns> public static IEnumerator TextDisolveAnim(this Text text) { StringBuilder stringBuilder = new StringBuilder(text.text); List <TextData> textDatas = new List <TextData>(); for (short i = 0; i < text.text.Length; i++) { textDatas.Add(new TextData(text.text[i], i)); } while (textDatas.Count > 0) { var textData = textDatas[RandomReal.Range(0, textDatas.Count)]; stringBuilder[textData.id] = Space; text.text = stringBuilder.ToString(); textDatas.Remove(textData); yield return(TextUpdateTime); } text.text = string.Empty; yield return(null); }
public static T GetRandom <T>(this T[] array) { return(array[RandomReal.Range(0, array.Length)]); }