41 lines
1014 B
C#
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|