- 드로그 BT를 페이즈 전환, 부활 트리거, 가중치 근접 패턴 중심으로 재구성 - 땅 울리기 및 콤보-기본기1_3 패턴/스킬/이펙트를 추가하고 기존 평타 파생 자산을 정리 - 드로그 행동 검증용 PlayMode/Editor 테스트와 관련 런타임 상태 추적을 추가
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using System;
|
|
|
|
using Colosseum.Enemy;
|
|
|
|
using Unity.Behavior;
|
|
using Unity.Properties;
|
|
using UnityEngine;
|
|
|
|
namespace Colosseum.AI.BehaviorActions.Conditions
|
|
{
|
|
/// <summary>
|
|
/// 최근 전투 부활 트리거가 아직 유효한지 확인합니다.
|
|
/// </summary>
|
|
[Serializable, GeneratePropertyBag]
|
|
[Condition(name: "Is Recent Revive Trigger", story: "최근 [MaxAge]초 이내 부활 트리거가 있는가?", id: "d12890b1-0cb0-4586-a61f-885e7d0e97ee")]
|
|
[NodeDescription(
|
|
name: "Is Recent Revive Trigger",
|
|
story: "최근 [MaxAge]초 이내 부활 트리거가 있는가?",
|
|
category: "Condition/Pattern")]
|
|
public partial class IsRecentReviveTriggerCondition : Unity.Behavior.Condition
|
|
{
|
|
[SerializeReference]
|
|
[Tooltip("부활 트리거를 유효하다고 간주할 최대 시간(초)")]
|
|
public BlackboardVariable<float> MaxAge = new BlackboardVariable<float>(4f);
|
|
|
|
public override bool IsTrue()
|
|
{
|
|
BossBehaviorRuntimeState runtimeState = GameObject.GetComponent<BossBehaviorRuntimeState>();
|
|
return runtimeState != null && runtimeState.HasRecentReviveTrigger(MaxAge?.Value ?? 0f);
|
|
}
|
|
}
|
|
}
|