캐릭터가 특정 위치에 들어서면 자동으로 대화가 시작되게 만들었습니다.
플레이어의 응답 버튼에 상태를 만들었고 퀘스트 받기 상태인 응답을 선택하면 퀘스트가 등록됩니다
대화가 가능한 NPC와 가까워지면 상호작용 키를 눌러서 대화를 할 수 있습니다.
NPC는 현재 상태에 따라 다른 아이콘을 띄우게 만들었습니다.
! -> 퀘스트 대기 상태
? -> 퀘스트 완료 상태
... -> 퀘스트 진행 중 상태
선행 퀘스트의 개념을 적용시켰습니다.
선행 퀘스트가 완료되지 않았다면 퀘스트를 진행할 수 없도록 하였고
퀘스트 상태를 체크하는 script를 따로 작성하여
퀘스트기 특정 상태가 되면 Cinematic 재생, NPC와 몬스터 생성과 같은 로직으로 이어질 수 있게 했습니다.
JustKnight/Assets/Scripts/NPC/NpcManager.cs at main · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-NPC Manager
Npc 로직을 관리하는 script입니다.
JustKnight/Assets/Scripts/Quest/QuestSO.cs at main · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-QuestSO
Quest Data를 ScriptObject로 관리했습니다.
JustKnight/Assets/Scripts/Dialouge/EpisodeSO.cs at main · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-EpisodeSO
NPC와의 대화를 EpisodeSO라는 이름으로 관리했습니다.
JustKnight/Assets/Scripts/Dialouge/QuestStateChecker.cs at main · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-QuestStateChecker
Quest의 상태를 체크하는 script입니다.
JustKnight/Assets/Scripts/Quest/QuestManager.cs at main · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-Quest Manager
모든 Quest를 관리하는 script입니다.
JustKnight/Assets/Scripts/UI/DialogueManager.cs at 24083d7ca266b3bf8e84fc7f474672186f67e16c · znlsnel/JustKnight
2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.
github.com
-Episode Manager
NPC와의 모든 대화들을 관리하는 Manager입니다.
'Unity > 기록' 카테고리의 다른 글
NPC 대화창 구현 (0) | 2024.06.22 |
---|---|
상호작용 기능 구현 (0) | 2024.06.22 |
인벤토리 기능 (0) | 2024.06.13 |
Item System 구현 (0) | 2024.06.08 |
Unity Shader Hp Bar (0) | 2024.05.14 |