43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
using LTGame;
|
|
namespace Gameplay.Vehicle
|
|
{
|
|
public class BatteryStateReload: BaseBaterryState
|
|
{
|
|
|
|
private float _reloadTime;
|
|
|
|
public BatteryStateReload(BaseBattery owner) : base(owner, EBatteryState.Reload)
|
|
{
|
|
|
|
}
|
|
|
|
protected override void _OnEnter(NBaseState exitState,
|
|
object param)
|
|
{
|
|
base._OnEnter(exitState, param);
|
|
|
|
_reloadTime = owner.owner.fightData.reloadTime;
|
|
}
|
|
|
|
protected override void _OnRunning()
|
|
{
|
|
base._OnRunning();
|
|
|
|
var targetEnemy = owner.owner.controlData.targetEnemy;
|
|
if (targetEnemy == null)
|
|
{
|
|
targetEnemy = owner.owner.controlData.followUnit;
|
|
}
|
|
owner.RotateTower(targetEnemy, deltaTime);
|
|
|
|
if (passTime >= _reloadTime)
|
|
{
|
|
owner.remainBulletCount = owner.owner.fightData.maxBulletCount;
|
|
isFinished = true;
|
|
nextState = EBatteryState.Idle;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|