Cộng đồng Hỏi & Đáp của Inflearn
Destroy() 지연 파괴에 관하여
Viết
·
135
0
QuestSystem구현 강의에서
12:51쯤에 Destroy(quest, Time.deltaTime)을 사용했는데
바로 파괴해도 될 것 같은데 한 프레임을 쉬는 이유가 있나요?
즉시 파괴할 경우 이벤트나 다른 참조하는 곳에서 error가 날까봐 그런건가요?
unity
Câu trả lời 1
1
Developer G
Người chia sẻ kiến thức
수강해주셔서 감사합니다.
지연 파괴를 해주는 이유는 다른 Script에서 null check를 통과하여 Quest의 Cancel 상태를 확인할 시간을 주기 위해서입니다. 보통은 Cancel을 onQuestCanceled event나 onQuestStateChanged event로 확인하겠지만 그럴 수 없는 경우를 대비한 작업입니다. 강의에서는 이번 Frame에서만 상태를 확인할 수 있게 한 Frame만 쉬어줬는데 짧다고 여겨질 경우 여유를 두고 2~3 Frame 정도를 쉬어줘도 됩니다. 물론 이런 대비가 불필요하다고 여겨지시면 지연 파괴 부분을 없애셔도 아무 문제 없습니다.
감사합니다.





