목표: TextMeshPro에서 숫자가 바뀔 때마다 카운팅 하여 숫자를 집어 넣도록 처리

using System.Collections;

public static class ToolText
{
    public static void CountingTo(this TMPro.TMP_Text _targetText, int _goal)
    {
        // :: 코루틴을 실행할 녀석 확인
        // :: 지금 구조에서는 App이 모든 코루틴을 실행하고 관리할 예정
        App.oInstance.StartCoroutine(_targetText.IENCountingTo(_goal));
    }
    public static IEnumerator IENCountingTo(this TMPro.TMP_Text _targetText, int _goal)
    {
        // :: 현재 값
        int current = int.Parse(_targetText.text);

        // :: Up일 경우
        while (current < _goal)
        {
            if (current + 100 < _goal) current += 100;
            else if (current + 10 < _goal) current += 10;
            else current++;

            _targetText.text = string.Format("{0}", current);
            yield return null;
        }
        // :: Down일 경우
        while (current > _goal)
        {
            if (current - 100 > _goal) current -= 100;
            else if (current - 10 > _goal) current -= 10;
            else current--;

            _targetText.text = string.Format("{0}", current);
            yield return null;
        }

        // :: 마지막 재확인
        _targetText.text = string.Format("{0}", _goal);
    }
}
블로그 이미지

RIsN

,