using SepCore.Definition; namespace SepCore.Entity { /// /// 长枪的待机状态。 /// public sealed class WeaponLanceIdleState : WeaponStateBase { private WeaponLance _weapon; public override WeaponStateType State => WeaponStateType.Idle; public override void OnInit(WeaponBase weapon) => _weapon = (WeaponLance)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() { } } }