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