- big pattern grace period 판정을 런타임 헬퍼에서 제거하고 BT 조건/액션 노드로 명시 - Increment/Reset Basic Loop Count 노드 추가 및 BT_Drog 재빌드 반영 - Signature Failure Effects 수치를 BT 노드가 직접 보관하도록 정리
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
using Colosseum.AI;
|
|
using Colosseum.Enemy;
|
|
|
|
namespace Colosseum.AI.BehaviorActions.Conditions
|
|
{
|
|
/// <summary>
|
|
/// 패턴 준비 여부를 확인하는 공통 헬퍼 메서드를 제공합니다.
|
|
/// </summary>
|
|
public static class PatternReadyHelper
|
|
{
|
|
/// <summary>
|
|
/// 지정된 패턴이 현재 실행 가능한지 확인합니다.
|
|
/// BT에 명시된 추가 조건 외에, 페이즈/행동 억제/쿨다운만 판단합니다.
|
|
/// </summary>
|
|
public static bool IsPatternReady(GameObject gameObject, BossPatternData pattern)
|
|
{
|
|
if (pattern == null)
|
|
return false;
|
|
|
|
BossBehaviorRuntimeState context = gameObject.GetComponent<BossBehaviorRuntimeState>();
|
|
if (context == null)
|
|
return false;
|
|
|
|
if (context.IsBehaviorSuppressed)
|
|
return false;
|
|
|
|
if (context.CurrentPatternPhase < pattern.MinPhase)
|
|
return false;
|
|
|
|
return context.IsPatternReady(pattern);
|
|
}
|
|
}
|
|
}
|