using System; using Colosseum.Enemy; using Unity.Behavior; using Unity.Properties; using UnityEngine; namespace Colosseum.AI.BehaviorActions.Conditions { /// /// 현재 보스 페이즈가 지정한 값과 같은지 확인합니다. /// [Serializable, GeneratePropertyBag] [Condition(name: "Is Current Phase", story: "현재 페이즈가 [Phase] 인가?", id: "6dc82e39-6f84-43df-b8ce-5b7c0ac8e390")] [NodeDescription( name: "Is Current Phase", story: "현재 페이즈가 [Phase] 인가?", category: "Condition/Phase")] public partial class IsCurrentPhaseCondition : Unity.Behavior.Condition { [SerializeReference] [Tooltip("확인할 현재 페이즈 값 (1부터 시작)")] public BlackboardVariable Phase = new BlackboardVariable(1); public override bool IsTrue() { BossBehaviorRuntimeState context = GameObject.GetComponent(); return context != null && context.CurrentPatternPhase == Mathf.Max(1, Phase?.Value ?? 1); } } }