Files
vampire-like/Assets/GameMain/Scripts/Runtime/EntityLogic/Weapon/WeaponKnife/WeaponKnifeAttackState.cs
T
2026-09-18 21:43:22 +08:00

35 lines
850 B
C#

using SepCore.Definition;
namespace SepCore.Entity
{
/// <summary>
/// 小刀的攻击状态。
/// </summary>
public sealed class WeaponKnifeAttackState : WeaponStateBase
{
private WeaponKnife _weapon;
public override WeaponStateType State => WeaponStateType.Attack;
public override void OnInit(WeaponBase weapon) => _weapon = (WeaponKnife)weapon;
public override void OnEnter()
{
_weapon.ResetAttackCooldown(_weapon.CurrentCooldown);
_weapon.Attack();
}
public override void OnUpdate(float elapseSeconds, float realElapseSeconds)
{
if (!_weapon.IsAttacking)
{
_weapon.TransitionTo(WeaponStateType.Aim);
}
}
public override void OnLeave()
{
}
}
}