36 lines
868 B
C#
36 lines
868 B
C#
using SepCore.Definition;
|
|
|
|
namespace SepCore.Entity
|
|
{
|
|
/// <summary>
|
|
/// 手枪的待机状态。
|
|
/// </summary>
|
|
public sealed class WeaponHandgunIdleState : WeaponStateBase
|
|
{
|
|
private WeaponHandgun _weapon;
|
|
|
|
public override WeaponStateType State => WeaponStateType.Idle;
|
|
|
|
public override void OnInit(WeaponBase weapon) => _weapon = (WeaponHandgun)weapon;
|
|
|
|
public override void OnEnter()
|
|
{
|
|
}
|
|
|
|
public override void OnUpdate(float elapseSeconds, float realElapseSeconds)
|
|
{
|
|
_weapon.Check();
|
|
_weapon.RotateToOrigin(elapseSeconds);
|
|
|
|
if (_weapon.Target != null && _weapon.Target.Available)
|
|
{
|
|
_weapon.TransitionTo(WeaponStateType.Seek);
|
|
}
|
|
}
|
|
|
|
public override void OnLeave()
|
|
{
|
|
}
|
|
}
|
|
}
|