퀘스트 시스템을 추가했습니다.
실력이 워낙 허접하니 구현하는데 좀 머리가 뜨거웠습니다.
대충 설계 느낌은
1. 퀘스트나 업적이나 본질적으로 로직이 꽤나 유사하다고 결론을 내려서 IObjective라는 상위 인터페이스를 추가했어요
2. 그리고 퀘스트는 사실 퀘스트 조건만 다르고 나머지는 다 똑같으니 questCondition이라고 입맛대로 추가하고 수정하는 클래스를 만들어서 넣었지요
3. 그리고 이 quest들을 매니저가 관리를 하는데, ui를 통해 단순히 상호작용만 하도록 다리를 놓게 했구요
가장 고민했던 부분은 퀘스트 대상으로 알림을 어떻게 보낼 것인가를 고민 했는데,
EventType과 param으로 구분해서 notify 하도록 만들었어요.
예를 들어, 몬스터라면 몬스터가 죽을 때 EventType = monsterkilled, param = goblin 이런 느낌으로 말이죠
글을 너무 휘갈기듯 썼는데, 사실 저도 처음 시도해본거라 프로토타입 만들듯 대충대충 구현만 되자! 라는 식으로 만들었네요
그리고 곧 일지도 끝날 것 같아요. win32 인강 들으면서 혼자서 연습하고 있었는데 뭔가 더이상 크게 얻어갈게 없다고 느껴져서
빠르게 마무리하고 다른 프로젝트로 넘어갈듯 싶습니다.
댓글 1