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); } } }