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; } } } }