플레이어와 상호작용하는 비전투 캐릭터, 즉 NPC(Non-Player Character) 를 구현하는 데 사용되는 Npc
클래스에 대해 설명드리겠습니다.
이 클래스는 CharacterBase
를 기반으로 하여 UI 태그, 퀘스트 시스템, 상호작용 트리거 등 게임 내 다양한 기능과 유기적으로 연동되는 구조로 설계되어 있습니다.
📚 상속 구조
CharacterStat
└── CharacterBase
└── Npc
Npc
클래스는 플레이어나 몬스터와 마찬가지로 CharacterBase
를 상속받지만, 전투 기능 없이 상호작용 및 연출 중심의 로직에 집중합니다.
🧠 주요 기능 요약
CreateTagName()
을 통해 NPC 이름표를 머리 위에 띄우는 기능을 제공합니다.NpcQuestController
를 통해 NPC가 보유한 퀘스트 목록을 관리하며, 필요시 GetQuestInfos()
로 퀘스트 데이터를 가져옵니다.InteractionManager
가 NPC 정보를 등록하여 대화, 상점, 퀘스트 등과 연결됩니다.InitializeByTable()
을 통해 NPC 고유 스케일, 스탯, 이름 등을 초기화합니다.InitializeByRegenData()
는 맵 배치 툴에서 설정된 초기 방향 등을 NPC에 반영하는 기능입니다.