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