using System;
using Colosseum.Enemy;
using Unity.Behavior;
using Unity.Properties;
using UnityEngine;
namespace Colosseum.AI.BehaviorActions.Conditions
{
///
/// 마지막 패턴 실행 결과가 지정한 값과 일치하는지 확인합니다.
///
[Serializable, GeneratePropertyBag]
[Condition(name: "Is Pattern Execution Result", story: "마지막 패턴 결과가 [Result] 인가?", id: "4ffbf07b-3fa4-42cc-9a61-75fd07b05db6")]
[NodeDescription(
name: "Is Pattern Execution Result",
story: "마지막 패턴 결과가 [Result] 인가?",
category: "Condition/Pattern")]
public partial class IsPatternExecutionResultCondition : Unity.Behavior.Condition
{
[SerializeReference]
public BlackboardVariable Result = new BlackboardVariable(BossPatternExecutionResult.Succeeded);
public override bool IsTrue()
{
BossBehaviorRuntimeState runtimeState = GameObject.GetComponent();
return runtimeState != null && runtimeState.LastPatternExecutionResult == (Result?.Value ?? BossPatternExecutionResult.None);
}
}
}