NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Buff/Impl/BuffEmitBulletToTargetEnemy.cs

42 lines
1.0 KiB
C#

using Gameplay.Area;
using Gameplay.Bullet;
namespace Gameplay.Buff
{
public class BuffEmitBulletToTargetEnemy : BaseBuff
{
private int _triggerDistance;
private int _emitBulletId;
protected override void _OnInit()
{
base._OnInit();
_triggerDistance = _TryGetIntParam(0);
_emitBulletId = _TryGetIntParam(1);
}
protected override void _OnTrigger()
{
base._OnTrigger();
var targetEnemey = owner.controlData.targetEnemy;
if (targetEnemey == null)
{
return;
}
var distance = AreaManager.instance.GetDistance(targetEnemey.transData.cellIndex, owner.transData.cellIndex);
if (distance > _triggerDistance)
{
// 距离不满足
return;
}
// 发射子弹
BulletManager.instance.EmitBullet(_emitBulletId, targetEnemey, owner);
}
}
}