using System;
using Colosseum.Enemy;
using Unity.Behavior;
using Unity.Properties;
using UnityEngine;
namespace Colosseum.AI.BehaviorActions.Conditions
{
///
/// 마지막 대형 패턴 이후 누적된 기본 루프 횟수가 기준 이상인지 확인합니다.
///
[Serializable, GeneratePropertyBag]
[Condition(name: "Is Basic Loop Count At Least", story: "기본 루프 누적 횟수가 [Count]회 이상인가?", id: "5c54d42c-780b-4334-bf58-1f7d4c79f4ea")]
[NodeDescription(
name: "Is Basic Loop Count At Least",
story: "기본 루프 누적 횟수가 [Count]회 이상인가?",
category: "Condition/Pattern")]
public partial class IsBasicLoopCountAtLeastCondition : Unity.Behavior.Condition
{
[SerializeReference]
[Tooltip("필요한 최소 기본 루프 횟수")]
public BlackboardVariable Count = new BlackboardVariable(0);
public override bool IsTrue()
{
BossBehaviorRuntimeState runtimeState = GameObject.GetComponent();
return runtimeState != null && runtimeState.BasicLoopCountSinceLastBigPattern >= Mathf.Max(0, Count?.Value ?? 0);
}
}
}