using System; using Colosseum.Enemy; using Unity.Behavior; using Unity.Properties; using UnityEngine; namespace Colosseum.AI.BehaviorActions.Conditions { /// /// 보스가 보유한 커스텀 조건 플래그가 활성화되었는지 확인합니다. /// [Serializable, GeneratePropertyBag] [Condition(name: "Is Boss Custom Condition True", story: "커스텀 조건 [ConditionId] 가 참인가?", id: "0c4a5f77-a599-40a7-80fb-d22c4bb27f19")] [NodeDescription( name: "Is Boss Custom Condition True", story: "커스텀 조건 [ConditionId] 가 참인가?", category: "Condition/Phase")] public partial class IsBossCustomConditionTrueCondition : Unity.Behavior.Condition { [SerializeReference] [Tooltip("확인할 커스텀 조건 ID")] public BlackboardVariable ConditionId = new BlackboardVariable(string.Empty); public override bool IsTrue() { BossBehaviorRuntimeState context = GameObject.GetComponent(); return context != null && !string.IsNullOrEmpty(ConditionId?.Value) && context.CheckPhaseCustomCondition(ConditionId.Value); } } }