1
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using BITFALL.Entities.Player.Movement.States;
|
||||
using BITFALL.Player.Equip;
|
||||
using BITFALL.Player.Movement;
|
||||
using BITKit;
|
||||
using BITKit.StateMachine;
|
||||
@@ -109,13 +110,6 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
[Serializable]
|
||||
public sealed class Walk:BasicMovement,IPlayerWalkState
|
||||
{
|
||||
public override void OnStateEntry(IState old)
|
||||
{
|
||||
base.OnStateEntry(old);
|
||||
characterController.ExpectRun.Reset();
|
||||
characterController.ExpectSprint.Reset();
|
||||
}
|
||||
|
||||
public override void AfterUpdateMovement(float deltaTime)
|
||||
{
|
||||
base.AfterUpdateMovement(deltaTime);
|
||||
@@ -123,10 +117,10 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
{
|
||||
case (_,true):
|
||||
characterController.TransitionState<Crouch>();
|
||||
break;
|
||||
case (true,false):
|
||||
return;
|
||||
case (true,false) when characterController.pauseRun.Allow is false:
|
||||
characterController.TransitionState<Run>();
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,14 +130,21 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
{
|
||||
[SerializeField] private float moveDamping = 3f;
|
||||
[SerializeField] private float damping = 1f;
|
||||
|
||||
[Inject] private IEquipService _equipService;
|
||||
public override void OnStateEntry(IState old)
|
||||
{
|
||||
base.OnStateEntry(old);
|
||||
characterController.InvokeOpenParachute();
|
||||
_equipService.AllowEquip.AddDisableElements(this);
|
||||
}
|
||||
|
||||
public override void OnStateExit(IState old, IState newState)
|
||||
{
|
||||
base.OnStateExit(old, newState);
|
||||
characterController.InvokeCloseParachute();
|
||||
|
||||
_equipService.AllowEquip.RemoveDisableElements(this);
|
||||
}
|
||||
|
||||
public override void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
|
||||
@@ -191,18 +192,25 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
public override void AfterUpdateMovement(float deltaTime)
|
||||
{
|
||||
base.AfterUpdateMovement(deltaTime);
|
||||
if (characterController.ExpectSprint.shouldBe)
|
||||
{
|
||||
characterController.TransitionState<Sprint>();
|
||||
}
|
||||
|
||||
switch (characterController.ExpectRun.shouldBe,characterController.ExpectCrouch.shouldBe)
|
||||
{
|
||||
case (_,true):
|
||||
characterController.TransitionState<Crouch>();
|
||||
break;
|
||||
return;
|
||||
case (false,false):
|
||||
characterController.TransitionState<Walk>();
|
||||
break;
|
||||
return;
|
||||
}
|
||||
if (characterController.pauseRun.Allow)
|
||||
{
|
||||
characterController.TransitionState<Walk>();
|
||||
return;
|
||||
}
|
||||
if (characterController.ExpectSprint.shouldBe)
|
||||
{
|
||||
characterController.TransitionState<Sprint>();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,6 +237,7 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
{
|
||||
characterController.ExpectCrouch.being = true;
|
||||
characterController.ExpectCrouch.shouldBe = true;
|
||||
characterController.ExecuteCommand<PlayerCancelRunCommand>();
|
||||
_addedVelocity = false;
|
||||
}
|
||||
|
||||
@@ -319,22 +328,27 @@ namespace BITFALL.Entities.Player.Movement.States
|
||||
public override void AfterUpdateMovement(float deltaTime)
|
||||
{
|
||||
base.AfterUpdateMovement(deltaTime);
|
||||
if (characterController.pauseRun.Allow)
|
||||
{
|
||||
characterController.TransitionState<Walk>();
|
||||
return;
|
||||
}
|
||||
switch (characterController.ExpectRun.shouldBe,characterController.ExpectCrouch.shouldBe)
|
||||
{
|
||||
case (_,_) when characterController.Stamina is 0:
|
||||
characterController.ExpectSprint.Reset();
|
||||
characterController.TransitionState<Run>();
|
||||
break;
|
||||
return;
|
||||
case (_,true) when characterController.IsGrounded && characterController.Stamina >= slideCost:
|
||||
characterController.Stamina -= slideCost;
|
||||
characterController.TransitionState<Slide>();
|
||||
break;
|
||||
return;
|
||||
case (_,true):
|
||||
characterController.TransitionState<Crouch>();
|
||||
break;
|
||||
return;
|
||||
case (false,false):
|
||||
characterController.TransitionState<Walk>();
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
public override void ExecuteCommand<T>(T command)
|
||||
|
Reference in New Issue
Block a user