#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。
///
public class BD_Attack : Action
{
private EnemyBase _enemy;
public override void OnStart()
{
_enemy = GetComponent();
}
public override TaskStatus OnUpdate()
{
if (_enemy == null || !_enemy.CanAttack())
return TaskStatus.Failure;
_enemy.BeginAttack(AttackType.Melee);
return TaskStatus.Success;
}
}
}
#endif