- PlayerController: 플레이어의 이동, 카메라 회전, 상호작용, 상태 관리 등.
- PlayerHealth: 플레이어의 체력 관리 및 체력 회복/데미지 처리.
- PlayerInventory: 플레이어의 아이템 및 장비 관리.
- PlayerQuest: 퀘스트 진행 상태 관리.
- PlayerCombat: 플레이어의 공격 및 방어 기능.
- PlayerSkills: 플레이어의 기술이나 스킬 관리.
- PlayerInteraction: NPC와의 대화, 오브젝트와의 상호작용 처리.
- Item: 아이템의 기본 클래스 (이름, 설명, 효과 등).
- Weapon: 무기 아이템 (공격력, 특수 능력 등).
- Armor: 방어구 아이템 (방어력, 효과 등).
- ConsumableItem: 소비 아이템 (예: 포션, 음료수).
- EpicItem: 에픽 아이템 (강력한 효과가 있는 특별 아이템).
- QuestItem: 퀘스트에 필요한 아이템.
- NPC: NPC의 기본 클래스 (이름, 대화 내용, 퀘스트 주기 등).
- NPCDialogue: NPC와의 대화 시스템.
- NPCShop: NPC 상점 시스템.
- NPCQuestGiver: 퀘스트를 제공하는 NPC.
- NPCPatrol: 순찰 경로를 따라 이동하는 NPC.
- EnemyController: 적의 AI 및 행동 처리.
- EnemyHealth: 적의 체력 관리 및 데미지 처리.
- EnemyAI: 적의 인공지능 시스템 (추적, 공격, 회피 등).
- EnemyDrop: 적이 죽을 때 아이템을 떨어뜨리도록 하는 클래스.
- BossEnemy: 보스 적을 위한 클래스 (특수 공격, 패턴 등).
- WeatherSystem: 날씨 시스템 (비, 눈, 날씨 변화 등).
- DayNightCycle: 낮과 밤의 주기 관리.
- EnvironmentManager: 환경의 변화 (대기, 바람 등) 관리.
- FogOfWar: 플레이어가 탐험하지 않은 지역에 대한 안개 효과.
- SkyboxController: 하늘 및 환경의 배경을 변경하는 시스템.
- Quest: 퀘스트의 기본 클래스 (퀘스트의 목표, 진행상태 등).
- QuestManager: 여러 퀘스트의 진행 상태를 관리하는 시스템.
- QuestObjective: 퀘스트의 세부 목표.
- QuestGiver: 퀘스트를 제공하는 NPC.
- Shop: 상점의 기본 클래스 (아이템 목록, 가격, 상호작용 등).
- ShopItem: 상점에서 판매하는 아이템.
- CurrencyManager: 게임 내 통화 시스템 (골드, 재화 등).
- WorldMap: 월드 맵 관리 (전체 맵의 표시, 탐험한 지역 등).
- MiniMap: 미니맵 관리.
- Teleportation: 플레이어의 텔레포트 시스템 (빠른 이동).
- Waypoint: 경로를 표시하는 시스템 (이동 경로, 목적지 표시 등).
- AIController: NPC 및 적의 AI를 제어하는 클래스.
- Pathfinding: 경로 찾기 알고리즘 (예: A*).
- AIState: AI의 상태 (대기, 이동, 공격 등).
- InteractionAI: 상호작용 가능한 NPC나 객체에 대한 AI 처리.
- EventSystem: 게임 내 이벤트 시스템 (이벤트 트리거, 알림 등).
- TriggerZone: 특정 영역에서 발생하는 이벤트 (예: 문을 열 때, 함정 작동 등).
- MissionScript: 스토리나 미션을 제어하는 스크립트 시스템.
- SaveManager: 게임 저장 및 불러오기 시스템.
- PlayerData: 플레이어 데이터 관리 (레벨, 퀘스트 진행 상태 등).
- SaveFile: 저장된 데이터를 다루는 클래스.
- Skill: 스킬의 기본 클래스 (이름, 쿨타임, 효과 등).
- MagicSpell: 마법 스킬 시스템.
- AbilitySystem: 플레이어의 특수 능력 및 액티브/패시브 스킬.
- SkillEffect: 스킬이 발동될 때 발생하는 효과 (딜, 버프 등).
- HUDManager: 화면 상단에 표시되는 모든 UI 요소 관리 (체력바, 퀘스트 등).
- InventoryUI: 인벤토리 UI 관리.
- QuestLogUI: 퀘스트 로그 UI 관리.
- ShopUI: 상점 UI 관리.
- DialogueUI: 대화 UI 관리.
- InteractableObject: 상호작용 가능한 객체 클래스 (문, 상자, 버튼 등).
- RigidbodyController: 물리 기반 객체를 제어하는 클래스 (물리력, 이동 등).
- ItemPickup: 아이템을 줍는 시스템.
- Trap: 함정 시스템 (예: 지뢰, 덫).
- ParticleEffect: 게임 내 파티클 효과 (불, 연기, 폭발 등).
- AnimationController: 캐릭터 및 객체의 애니메이션 상태 제어.
- SoundManager: 게임 내 사운드 관리 (효과음, 배경음 등).
해당클래스 전부 구현해서 일지쓰기
깜짝이야 저걸 다 했다는줄
상속 잘 안하면 각 객체간의 상호작용 망할 수 있음 어느 클래스를 최상위로 만들지 생각 했으면 best