39 lines
1.9 KiB
C#
39 lines
1.9 KiB
C#
|
|
// ============================================================
|
||
|
|
// 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 // 대시 + 내려찍기 콤보 — 고급 갭클로저
|
||
|
|
}
|