유니티 코루틴 스타트

정선호·2023년 10월 21일
0

Unity Features

목록 보기
20/27

코루틴 스타트의 사용처

프로젝트의 볼륨이 커지다 보면 각각의 Start()메서드에 관한 실행 순서를 지정하고 싶어질 때가 생기게 된다.
예를 들면 A 컴포넌트의 Start()메서드에서 B컴포넌트의 변수를 참조할 때, B 컴포넌트의 Start()메서드에서 데이터가 세팅되어 있지 않으면 널 오류를 발생시킨다.

코루틴 스타드를 이용해 이를 간단하게 해결할 수 있다.


코루틴 스타트 사용법

평소에 사용하던

private void Start()
{
    ...
}

대신 다음과 같이 사용하면 된다.

private IEnumerator Start()
{
    yield return new WaitUntil(() => isActiveAndEnabled);

    yield return new WaitUntil(() => PlayerName != null);

    playerNameLabel.text = playerNameLabel.ToString();
}

여담

  • 모노비헤이비어 메소드들 중 void대신 코루틴을 사용할 수 있는 함수들은 Start()를 제외하고 몇 가지가 더 있다. 주로 딜레이 혹은 조건을 지정해야 하는 상황이 존재하는 메소드들이다.
    • OnBecameInvisible()과 같은 렌더링에 관련된 함수들
    • OnCollisionEnter()과 같은 물리법칙에 따른 함수들
    • OnMouseEnter()과 같이 입력에 따른 함수들
profile
학습한 내용을 빠르게 다시 찾기 위한 저장소

0개의 댓글