기능
※ 참고 사항 (20.06.06 게시글 수정)
1. NPC 테이블에는 NPC가 보유한 퀘스트 정보가, 퀘스트에는 필요한 데이터 목록들이 저장되어있다.
2. 퀘스트 시스템은 퀘스트 데이터(QuestData)(QuestManager), 보유한 퀘스트(PlayerQuest), 보여줄 영역(QuestBookUI, MiniQuestUI) 3가지 영역으로 구분한다.
2-1 QuestBookUI : 일반적으로 모든 퀘스트를 볼 수 있는 퀘스트 UI이다. 퀘스트의 클래스와 지역에 따라 표시된다. 또한 퀘스트는 포기 및 미니퀘스트에 등록 가능하다.
2-2 MiniQuestUI : 인게임 화면에서 표시되는 퀘스트 UI이다.
3. 클라이언트는 서버로부터 퀘스트 정보를 요청한다. 요청받은 데이터는 QuestData에서 관리한다.
4. 클라이언트는 서버로부터 유저의 보유한 퀘스트 정보를 요청한다. 데이터는 PlayerData에서 관리한다.
5. 시작에 앞서 유저의 보유한 퀘스트, 설정한 미니 퀘스트들을 정리한다.
6. 각 UI 화면으로 전환한다면, 조건에 맞게 보여준다.
! 주의 사항
- 퀘스트 변화시 QuestBookUI와 MiniQuestUI는 자동으로 갱신되어야 한다.
- 퀘스트는 조건에 부합(선행 퀘스트 클리어 여부)하면 받을 수 있고, 퀘스트를 포기하더라도 다시 받을 수 있다.
- 퀘스트에 해당하는 아이템이나 몬스터를 제거한다면, 퀘스트의 Count는 변화해야한다.
코드
구현 영상
리펙토링
'유니티 > 3D RPG' 카테고리의 다른 글
19 아이템 드래그/드랍 (0) | 2020.06.06 |
---|---|
18 비헤이비어 트리 (0) | 2020.01.20 |
15 UI 추가/수정 (0) | 2020.01.11 |
14 아이템 장착 및 해제 (0) | 2020.01.07 |
013 몬스터 DB (0) | 2019.12.30 |
댓글