using System; using UnityEngine; using Unity.Behavior; using Unity.Properties; using Condition = Unity.Behavior.Condition; using Colosseum.Combat; namespace Colosseum.AI.BehaviorActions.Conditions { /// /// 타겟이 존재하고 살아있는지 확인합니다. /// [Serializable, GeneratePropertyBag] [NodeDescription(name: "Has Target", story: "Has [Target]", category: "Combat")] public partial class HasTargetCondition : Condition { [SerializeReference] public BlackboardVariable Target; public override bool IsTrue() { if (Target.Value == null || !Target.Value.activeInHierarchy) { return false; } // 타겟이 사망했는지 확인 IDamageable damageable = Target.Value.GetComponent(); if (damageable != null && damageable.IsDead) { return false; } return true; } } }