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

48 lines
1.2 KiB
C#
Raw Normal View History

using LTGame;
namespace Gameplay.Vehicle
{
public class BatteryStateAttackEnd : BaseBaterryState
{
private float _waitTime;
public BatteryStateAttackEnd(BaseBattery owner) : base(owner, EBatteryState.AttackEnd)
{
}
protected override void _OnEnter(NBaseState exitState,
object param)
{
base._OnEnter(exitState, param);
_waitTime = owner.owner.fightData.attackEndTime;
_waitTime = _waitTime > 0 ? _waitTime : 0.01f;
owner.owner.statusData.isAttackEnd = true;
owner.owner.statusData.attackEndProgress = 0f;
}
protected override void _OnRunning()
{
base._OnRunning();
var progress = passTime / _waitTime;
owner.owner.statusData.attackEndProgress = progress;
if (progress >= 1)
{
isFinished = true;
nextState = EBatteryState.Idle;
}
}
protected override void _OnExit(NBaseState exitState,
object param)
{
base._OnExit(exitState, param);
owner.owner.statusData.isAttackEnd = false;
}
}
}