- PatternStepType.ChargeWait 및 ChargeStepData 도입으로 충전/차단 판정을 일반 패턴 스텝으로 표현 - UsePatternByRoleAction에서 IsSignature 분기 완전 제거, 일반 패턴 경로로 통합 - BossCombatBehaviorContext에서 시그니처 전용 메서드 10개 이상 제거 - BossStaggerAction(신규): 충전 차단 성공 시 보스 경직 처리 - SignatureFailureEffectsAction(신규): 차단 실패 시 범위 피해/넉백/다운 적용 - RebuildDrogBehaviorAuthoringGraph에 시그니처 Sequence + outcomeBranch 구조 추가 - 집행개시 에셋 스텝 구성을 ChargeWait(3초) → Skill으로 변경 - BossHealthBarUI 시그니처 UI 비활성화, PlayerSkillDebugMenu 디버그 메서드 제거
39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
using Colosseum.AI;
|
|
using Colosseum.Enemy;
|
|
|
|
namespace Colosseum.AI.BehaviorActions.Conditions
|
|
{
|
|
/// <summary>
|
|
/// 패턴 준비 여부를 확인하는 공통 헬퍼 메서드를 제공합니다.
|
|
/// </summary>
|
|
public static class PatternReadyHelper
|
|
{
|
|
/// <summary>
|
|
/// 지정된 패턴이 현재 실행 가능한지 확인합니다.
|
|
/// 패턴의 특성 필드를 사용하여 grace period 등을 판단합니다.
|
|
/// </summary>
|
|
public static bool IsPatternReady(GameObject gameObject, BossPatternData pattern)
|
|
{
|
|
if (pattern == null)
|
|
return false;
|
|
|
|
BossCombatBehaviorContext context = gameObject.GetComponent<BossCombatBehaviorContext>();
|
|
if (context == null)
|
|
return false;
|
|
|
|
if (context.IsBehaviorSuppressed)
|
|
return false;
|
|
|
|
if (context.CurrentPatternPhase < pattern.MinPhase)
|
|
return false;
|
|
|
|
if (!context.IsPatternGracePeriodAllowed(pattern))
|
|
return false;
|
|
|
|
return UsePatternAction.IsPatternReady(gameObject, pattern);
|
|
}
|
|
}
|
|
}
|