• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

QuestSave & Load 질문

24.01.08 04:00 작성 24.01.08 08:34 수정 조회수 109

0

마지막 테스트 부분에서 스페이스를 눌러도 Complete 메시지가 출력되지 않습니다.

 

콘솔 상에서도 오류가 나지 않아서 뭐가 문제인지 잘 모르겠습니다.

 

어떤 것을 확인해야 할까요?

 

그리고 3장의 UI부분에서 creator kit의 버전차이 때문에 Quest Trakcer Prefab이 존재하지 않는 것 같은데Task Descriptor 스크립트를 어떻게 해야 하는건지도 궁금합니다.

 

버전은 2022.3.8f1 입니다!

답변 2

·

답변을 작성해보세요.

1

보내주신 프로젝트를 확인하였습니다.

먼저 Task Script의 70번째 줄
public TaskState State

{

get => state;

set

{

var prevState = state;

state = value; <- 이 Code를 누락하신걸 확인하였습니다. 그래서 state 값이 Inactive로 고정된 상태입니다.

onStateChanged?.Invoke(this, state, prevState);

}

}

다음 Quest Script의 208번째 줄
private void CheckIsRunning()

{

Debug.Assert(IsRegistered, "This quest has already been registered.");

Debug.Assert(!IsCancel, "This quest has been canceled.");

Debug.Assert(!IsCompletable, "This quest has already been completed.");
=> Debug.Assert(!IsComplete, "This quest has already been completed.");

!IsCompletable이 아닌 !IsComplete를 입력하셔야합니다. 해당 Quest가 Complete 상태가 아니라면 Asset문을 통과하게 됩니다.

}

해당 부분들을 수정한 후 정상 작동되는걸 확인하였습니다.
감사합니다.

확인했습니다. 좋은 강의 감사드립니다!

0

수강해주셔서 감사합니다.

muramasa666@naver.com으로 프로젝트를 압축하셔서 보내주시면 확인해드리겠습니다.
예제 Prefab은 섹션2-예제 3D FPS Kit 소개 강의의 수업 자료로 올라와있는 QuestSystem UI.unitypackage에 포함되어 있습니다.

감사합니다.

네 확인했습니다. 감사합니다!