35 lines
854 B
C#
35 lines
854 B
C#
using SepCore.Definition;
|
|
|
|
namespace SepCore.Entity
|
|
{
|
|
/// <summary>
|
|
/// 斩击的攻击状态。
|
|
/// </summary>
|
|
public sealed class WeaponSlashAttackState : WeaponStateBase
|
|
{
|
|
private WeaponSlash _weapon;
|
|
|
|
public override WeaponStateType State => WeaponStateType.Attack;
|
|
|
|
public override void OnInit(WeaponBase weapon) => _weapon = (WeaponSlash)weapon;
|
|
|
|
public override void OnEnter()
|
|
{
|
|
_weapon.ResetAttackCooldown(_weapon.WeaponData.Cooldown);
|
|
_weapon.Attack();
|
|
}
|
|
|
|
public override void OnUpdate(float elapseSeconds, float realElapseSeconds)
|
|
{
|
|
if (!_weapon.IsAttacking)
|
|
{
|
|
_weapon.TransitionTo(WeaponStateType.Aim);
|
|
}
|
|
}
|
|
|
|
public override void OnLeave()
|
|
{
|
|
}
|
|
}
|
|
}
|