整理武器配置和重构
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
using SepCore.Definition;
|
||||
|
||||
namespace SepCore.Entity
|
||||
{
|
||||
/// <summary>
|
||||
/// 斩击的搜寻状态。
|
||||
/// </summary>
|
||||
public sealed class WeaponSlashSeekState : WeaponStateBase
|
||||
{
|
||||
private WeaponSlash _weapon;
|
||||
|
||||
public override WeaponStateType State => WeaponStateType.Seek;
|
||||
|
||||
public override void OnInit(WeaponBase weapon) => _weapon = (WeaponSlash)weapon;
|
||||
|
||||
public override void OnEnter()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnUpdate(float elapseSeconds, float realElapseSeconds)
|
||||
{
|
||||
_weapon.Check();
|
||||
_weapon.RotateToTarget(elapseSeconds);
|
||||
|
||||
if (_weapon.Target == null || !_weapon.Target.Available)
|
||||
{
|
||||
_weapon.TransitionTo(WeaponStateType.Idle);
|
||||
return;
|
||||
}
|
||||
|
||||
if (_weapon.IsInRange(_weapon.Target, _weapon.SqrRange))
|
||||
{
|
||||
_weapon.TransitionTo(WeaponStateType.Aim);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnLeave()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user