using System; using Colosseum.Enemy; using Unity.Behavior; using Unity.Properties; using UnityEngine; namespace Colosseum.AI.BehaviorActions.Conditions { /// /// 현재 페이즈의 경과 시간이 기준 이상인지 확인합니다. /// [Serializable, GeneratePropertyBag] [Condition(name: "Is Phase Elapsed Time Above", story: "페이즈 경과 시간이 [Seconds]초 이상인가?", id: "f0e0f5b3-3cb7-4991-ae8a-e89efcc0dbca")] [NodeDescription( name: "Is Phase Elapsed Time Above", story: "페이즈 경과 시간이 [Seconds]초 이상인가?", category: "Condition/Phase")] public partial class IsPhaseElapsedTimeAboveCondition : Unity.Behavior.Condition { [SerializeReference] [Tooltip("확인할 최소 경과 시간(초)")] public BlackboardVariable Seconds = new BlackboardVariable(0f); public override bool IsTrue() { BossBehaviorRuntimeState context = GameObject.GetComponent(); return context != null && context.PhaseElapsedTime >= Mathf.Max(0f, Seconds?.Value ?? 0f); } } }