NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Battery/BatteryStateIdle.cs

41 lines
1014 B
C#

namespace Gameplay.Vehicle
{
public class BatteryStateIdle: BaseBaterryState
{
public BatteryStateIdle(BaseBattery owner) : base(owner, EBatteryState.Idle)
{
}
protected override void _OnRunning()
{
base._OnRunning();
if (owner.owner.statusData.isPretend)
{
// 该状态下不可攻击
return;
}
var hasEnemy = true;
var targetEnemy = owner.owner.controlData.targetEnemy;
if (targetEnemy == null)
{
hasEnemy = false;
targetEnemy = owner.owner.controlData.followUnit;
}
var isMatchAngle = owner.RotateTower(targetEnemy, deltaTime);
if (isMatchAngle && hasEnemy)
{
owner.lockEnemy = targetEnemy;
isFinished = true;
nextState = EBatteryState.Shoot;
}
}
}
}