작성
·
55
0
QuestSystem구현 강의에서
12:51쯤에 Destroy(quest, Time.deltaTime)을 사용했는데
바로 파괴해도 될 것 같은데 한 프레임을 쉬는 이유가 있나요?
즉시 파괴할 경우 이벤트나 다른 참조하는 곳에서 error가 날까봐 그런건가요?
답변 1
0
수강해주셔서 감사합니다.
지연 파괴를 해주는 이유는 다른 Script에서 null check를 통과하여 Quest의 Cancel 상태를 확인할 시간을 주기 위해서입니다. 보통은 Cancel을 onQuestCanceled event나 onQuestStateChanged event로 확인하겠지만 그럴 수 없는 경우를 대비한 작업입니다. 강의에서는 이번 Frame에서만 상태를 확인할 수 있게 한 Frame만 쉬어줬는데 짧다고 여겨질 경우 여유를 두고 2~3 Frame 정도를 쉬어줘도 됩니다. 물론 이런 대비가 불필요하다고 여겨지시면 지연 파괴 부분을 없애셔도 아무 문제 없습니다.
감사합니다.