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