내일배움캠프/TIL

[내배캠][Unity6기][TIL] 코루틴 중지 트러블슈팅

binary는 호남선 2025. 1. 8. 23:28

게임 종료 후에도 스폰 코루틴이 계속 실행되어 전환된 Scene에 인간이 생성되는 문제가 있어 수정했다.

public class HumanSpawner : SingletonBase<HumanSpawner>
{
    public void StopSpawningHumans()
    {
        StopAllCoroutines();    // 모든 스폰 코루틴 중지
    }
}
public class GameManager : SingletonBase<GameManager>
{
    public void ReturnObjects()
    {
        HumanSpawner.Instance.StopSpawningHumans();
    }
}

위와 같이 스테이지가 종료 및 재시작되는 모든 상황에서 스폰 코루틴이 멈추도록 수정했다.

StopAllCoroutines는 해당 스크립트가 붙은 오브젝트에서 실행되는 코루틴에만 영향을 준다.

 

참고: https://docs.unity3d.com/2022.3/Documentation/ScriptReference/MonoBehaviour.StopAllCoroutines.html