인프런 커뮤니티 질문&답변
퀘스트 시스템 작성 이후 테스트 과정에서 오류가 납니다.
작성
·
281
0
NullReferenceException: Object reference not set to an instance of an object
QuestSystemTest.Start () (at Assets/WJ/Ouest/QuestTest/QuestSystemTest.cs:18)
퀘스트 시스템 작성 후 퀘스트 시스템 테스트 스크립트를 만들어 실행했는데 위와 같은 오류가 나오면서 제대로 테스트할 수 없습니다.
questSystem.onQuestRegistered += (quest) =>
{
print($"New Quest:{quest.CodeName} Registered");
print($"Active Quests Count:{questSystem.ActiveQuests.Count}");
};
18번 라인은 다음과 같은데 어디서 문제가 생긴걸까요?
더하여 혹시 가능하다면 델리게이트, 이벤트 사용법과 람다식응용에 대한 설명도 들을 수 있을지 질문드리고싶습니다.
감사합니다.
답변 1
1
수강해주셔서 감사합니다.
18번 행에서 null 에러가 뜨는 것으로 보아 윗줄의 QuestSystem.Instance가 null인 것으로 보입니다.
QuestSystem 스크립트의 26번 줄부터 다음과 같이 정확히 작성되어 있는지 확인해보셔야 할 것 같습니다.
public static QuestSystem Instance
{
get
{
if (!isApplicationQuitting && instance == null)
{
instance = FindObjectOfType<QuestSystem>();
if (instance == null)
{
instance = new GameObject("Quest System").AddComponent<QuestSystem>();
DontDestroyOnLoad(instance.gameObject);
}
}
return instance;
}
}
델리게이트, 이벤트 사용법과 람다식 응용은 섹션 2 실전 적용편에서 UI를 이벤트 기반으로 제작하며 한번 더 응용법을 보여주기 때문에 해당 부분을 보시고 추가적인 질문 사항이 있으시면 답변해 드리겠습니다.
감사합니다.





