작성
·
370
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
Quest 스크립트의 Complete에서 질문사항이 있습니다.
Complete함수에서 맨 처음부터 CheakIsRunning을 실행 해준다면 무조건 IsComplete는 false이기 때문에 오류가 실행되지 않나요?? (따로 디버그를 찍어보았지만 두번 실행되는건 아닙니다.)
테스트 해본결과 계속 오류가 실행되어서 CheakIsRunning을 맨 밑으로 내려줬더니 정상 실행이 되는데 이렇게 해도 문제가 없나요?
변경 전변경 후
답변 1
0
수강해주셔서 감사합니다.
CheckIsRunning 함수의 내용 중
Debug.Assert(!IsComplete, "This quest has already been completed")는
IsComplete가 false라면 통과, true라면 Error를 띄우라는 의미입니다.
Assert문은 첫번째 인자인 Condition이 false면 Error를 출력하기 때문입니다.
즉, 변경전에는 Error를 띄우면 안되고, 변경하신 코드는 IsComplete를 true로 만들고 CheckIsRunning 함수를 실행하는 것이므로 무조건 Error Log를 띄워야합니다.
변경전 내용이 Error를 띄우신다면 CheckIsRunning 함수의 Assert이 위와 같이 제대로 작성되어있는지 확인해보시길 바랍니다.
감사합니다.