added jumps
This commit is contained in:
1 parent
43ddb1b3b5
commit
ec8d233189
4 files changed
+61
-4
No files matched your search
@@ -8,12 +8,26 @@ namespace Code.Gameplay.Character.Controller
|
||||
private readonly float _maxStableMoveSpeed;
|
||||
private readonly float _sprintMoveSpeed;
|
||||
private readonly float _stableMovementSharpness;
|
||||
private readonly float _jumpSpeed;
|
||||
public bool JumpRequested { get; private set; }
|
||||
|
||||
public GroundMovementSystem(float maxStableMoveSpeed, float sprintMoveSpeed, float stableMovementSharpness)
|
||||
public GroundMovementSystem(float maxStableMoveSpeed, float sprintMoveSpeed, float stableMovementSharpness, float jumpSpeed)
|
||||
{
|
||||
_maxStableMoveSpeed = maxStableMoveSpeed;
|
||||
_sprintMoveSpeed = sprintMoveSpeed;
|
||||
_stableMovementSharpness = stableMovementSharpness;
|
||||
_jumpSpeed = jumpSpeed;
|
||||
}
|
||||
|
||||
public void RequestJump(bool jumpPressed)
|
||||
{
|
||||
if (jumpPressed)
|
||||
JumpRequested = true;
|
||||
}
|
||||
|
||||
public void CancelJumpRequest()
|
||||
{
|
||||
JumpRequested = false;
|
||||
}
|
||||
|
||||
public void UpdateVelocity(
|
||||
@@ -41,6 +55,18 @@ namespace Code.Gameplay.Character.Controller
|
||||
targetMovementVelocity,
|
||||
1f - Mathf.Exp(-_stableMovementSharpness * deltaTime)
|
||||
);
|
||||
|
||||
if (JumpRequested)
|
||||
{
|
||||
currentVelocity += motor.CharacterUp * _jumpSpeed - Vector3.Project(currentVelocity, motor.CharacterUp);
|
||||
JumpRequested = false;
|
||||
motor.ForceUnground();
|
||||
|
||||
if (motor.CharacterController is CustomCharacterController controller)
|
||||
{
|
||||
controller.TriggerJump();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user