/// <summary> /// 文字送りアニメーションデータの要素と絶対時間から何文字目までWaveしているか算出 /// </summary> static private int CalcAnimationCharacterCount <TType>(float time, TextAnimation.ItemBase <TType> item) { if (item.wave <= 0.0f) { return(int.MaxValue); } return((int)((time - item.delay) / item.wave)); }
/// <summary> /// 文字送りアニメーションデータの要素の特定文字の相対時間を算出 /// </summary> static private float CalcAnimationTime <TType>(float time, int characterIndex, TextAnimation.ItemBase <TType> item) { if (time < item.delay) { return(0.0f); } if (item.time <= 0.0f) { return(1.0f); } return(Mathf.Clamp01(((time - item.delay) - (characterIndex * item.wave)) / item.time)); }
/// <summary> /// 文字送りアニメーションデータの要素の最大時間を算出 /// </summary> static private float CalcAnimationTotalTime <TType>(int characterCount, TextAnimation.ItemBase <TType> item) { if (characterCount <= 0) { return(0.0f); } if (!item.use) { return(0.0f); } return(item.delay + (characterCount - 1) * item.wave + item.time); }