변수로 WaitForSecondsRealtime를 할당하여 사용하면 적용이 안 된다.
private IEnumerator Co_TestText(Text _text)
{
WaitForSecondsRealtime _waitForSecondsRealtime = new WaitForSecondsRealtime(1);
int _count = 0;
_text.text = _count.ToString();
while(true)
{
//yield return new WaitForSecondsRealtime(1);
yield return _waitForSecondsRealtime;
_count++;
_text.text = _count.ToString();
yield return new WaitFroEndOfFrame();
}
}
확인된 바로는 WaitForSecondsRealtime에 할당된 시간값이 0이 된 다음 다시 원래 할당된 값으로 바뀌는 처리 같은 게 없어서 0인 상태이기 때문에 한 번 대기한 다음에 지속적으로 동일한 시간만큼 대기하는 처리가 되지 않는 것으로 보인다.
Unity 2018.3 버전 이상에서는 waitTime 이라는 변수에 접근이 가능하도록 하여 시간값을 재할당하는 식으로 처리를 할 수 있게 바뀌었다.
참고
https://docs.unity3d.com/ScriptReference/WaitForSecondsRealtime-waitTime.html
https://forum.unity.com/threads/cant-reuse-waitforsecondsrealtime.539533/
'Unity Engine' 카테고리의 다른 글
UGUI Text Typing 스크립트 (Rich Text 중첩 지원) (0) | 2020.02.21 |
---|---|
C# 람다(Lambda) : Button onClick을 반복문에서 동적 할당 시 지역 변수 참조 문제 (0) | 2019.10.10 |
UnityWebRequest: Delete Request DownloadHandler NULL (0) | 2019.08.07 |
Unity Android Build: AndroidManifest Multiple 시 OBB파일을 불러오지 못하는 문제 (0) | 2019.06.27 |
UnityWebRequest: SetRequestHeader Cookie 문제 (0) | 2019.05.16 |