Projext/Assets/02_Scripts/Enemy/BossAI/BossEnums.cs

39 lines
1.9 KiB
C#
Raw Normal View History

// ============================================================
// BossEnums.cs — 보스 AI 전용 열거형 정의
//
// [역할]
// 보스 FSM 상태와 공격 패턴 종류를 독립 파일로 분리.
// 다른 클래스에서 NorcielBoss.BossState 대신 BossState로 직접 접근 가능.
//
// [설계]
// 열거형은 특정 클래스에 종속되지 않으므로 독립 파일이 정석.
// BossDebugDisplay, BossPhaseManager 등 외부 컴포넌트도 자유롭게 참조 가능.
// ============================================================
/// <summary>
/// 보스 FSM(유한 상태 머신) 상태 — 보스의 현재 행동을 결정하는 상태값
/// </summary>
public enum BossState // 열거형을 선언할거에요 -> 보스의 FSM 상태를
{
Idle, // 전투 전 대기 상태 (트리거존 진입 전)
Chase, // 플레이어를 NavMesh로 추격하는 상태
PreAttack, // 공격 사거리 안에서 쿨타임을 기다리는 상태
Attacking, // 공격 패턴 코루틴이 실행 중인 상태 (다른 패턴 차단)
Recovering, // 공격 후 짧은 경직 상태
Resting, // 숨돌리기 상태 — 공격 예산(budget) 소진 시 진입
Retrieving, // 쇠공을 주우러 가는 상태
Dead // 사망 상태 (모든 행동 정지)
}
/// <summary>
/// 보스 공격 패턴 종류 — SelectAndFire에서 가중치 룰렛으로 선택됨
/// </summary>
public enum BossPattern // 열거형을 선언할거에요 -> 보스의 공격 패턴 종류를
{
Throw, // 쇠공 던지기 — 원거리 메인 패턴
Smash, // 내려찍기 — 근접 강타 (흡인 효과 포함)
Sweep, // 휩쓸기 — 근접 광역 (전방 반원)
Dash, // 대시 돌진 — 갭클로저 (원거리 접근용)
DashSmash // 대시 + 내려찍기 콤보 — 고급 갭클로저
}