#if GRAPH_DESIGNER using Opsive.BehaviorDesigner.Runtime.Tasks; using Opsive.BehaviorDesigner.Runtime.Tasks.Actions; using BaseGames.Enemies; namespace BaseGames.Enemies.AI { /// /// BD Action:发动攻击。 /// CanAttack() 检查通过后调用 BeginAttack,立即返回 Success。 /// [TaskName("Attack")] [TaskCategory("BaseGames/Enemy/Combat")] [TaskDescription("执行近战攻击(单段或连击序列)")] public class BD_Attack : Action { private EnemyBase _enemy; public override void OnAwake() => _enemy = GetComponent(); public override TaskStatus OnUpdate() { if (_enemy == null || !_enemy.CanAttack()) return TaskStatus.Failure; _enemy.BeginAttack(AttackType.Melee); return TaskStatus.Success; } } } #endif