using System;
using Colosseum.AI;
using Colosseum.Enemy;
using Unity.Behavior;
using Unity.Properties;
using Action = Unity.Behavior.Action;
///
/// 지정된 공통 패턴 역할의 준비 여부를 확인하는 체크 액션 기반 클래스입니다.
///
[Serializable, GeneratePropertyBag]
public abstract partial class CheckPatternReadyActionBase : Action
{
///
/// 현재 액션이 검사할 패턴 역할입니다.
///
protected abstract BossCombatPatternRole PatternRole { get; }
protected override Status OnStart()
{
BossCombatBehaviorContext context = GameObject.GetComponent();
if (context == null)
return Status.Failure;
BossPatternData pattern = context.GetPattern(PatternRole);
return UsePatternAction.IsPatternReady(GameObject, pattern) ? Status.Success : Status.Failure;
}
}