feat: 드로그 공통 보스 BT 프레임워크 정리

This commit is contained in:
2026-03-23 16:02:45 +09:00
parent 3ae3cbcac1
commit de2cb2194e
65 changed files with 4514 additions and 2374 deletions

View File

@@ -0,0 +1,35 @@
using System;
using Colosseum.Enemy;
using Unity.Behavior;
using Unity.Properties;
using UnityEngine;
using Action = Unity.Behavior.Action;
/// <summary>
/// 현재 타겟이 보스의 공격 사거리 안에 있는지 확인하는 공통 체크 액션입니다.
/// </summary>
[Serializable, GeneratePropertyBag]
[NodeDescription(
name: "Check Target In Attack Range",
story: "[Target] ",
category: "Action",
id: "16821bba281d49f699d1ac9ec613dcce")]
public partial class CheckTargetInAttackRangeAction : Action
{
[SerializeReference]
public BlackboardVariable<GameObject> Target;
protected override Status OnStart()
{
if (Target?.Value == null)
return Status.Failure;
EnemyBase enemyBase = GameObject.GetComponent<EnemyBase>();
float attackRange = enemyBase != null && enemyBase.Data != null ? enemyBase.Data.AttackRange : 2f;
float distance = Vector3.Distance(GameObject.transform.position, Target.Value.transform.position);
return distance <= attackRange + 0.25f ? Status.Success : Status.Failure;
}
}