using System;
using Colosseum.Enemy;
using Unity.Behavior;
using Unity.Properties;
using UnityEngine;
namespace Colosseum.AI.BehaviorActions.Conditions
{
///
/// 최근 전투 부활 트리거가 아직 유효한지 확인합니다.
///
[Serializable, GeneratePropertyBag]
[Condition(name: "Is Recent Revive Trigger", story: "최근 [MaxAge]초 이내 부활 트리거가 있는가?", id: "d12890b1-0cb0-4586-a61f-885e7d0e97ee")]
[NodeDescription(
name: "Is Recent Revive Trigger",
story: "최근 [MaxAge]초 이내 부활 트리거가 있는가?",
category: "Condition/Pattern")]
public partial class IsRecentReviveTriggerCondition : Unity.Behavior.Condition
{
[SerializeReference]
[Tooltip("부활 트리거를 유효하다고 간주할 최대 시간(초)")]
public BlackboardVariable MaxAge = new BlackboardVariable(4f);
public override bool IsTrue()
{
BossBehaviorRuntimeState runtimeState = GameObject.GetComponent();
return runtimeState != null && runtimeState.HasRecentReviveTrigger(MaxAge?.Value ?? 0f);
}
}
}