목표: 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);
}
}