Убрано НАХУЙ _Recovery, добавлено движение в воздухе, деду добавлен стан как от дэша, так и от слайда, воллран вынесен в конфиг
This commit is contained in:
1 parent
77fd9af29d
commit
b4de41894f
40 files changed
+69
-4526
No files matched your search
+15
-13
@@ -36,6 +36,7 @@ namespace Code.Gameplay.Character.Controller
|
||||
private AirMovementSystem _airMovement;
|
||||
|
||||
public bool IsSliding => _slideMechanic.IsSliding;
|
||||
public bool IsDashing => _dashMechanic.IsDashing;
|
||||
public bool IsWallRunning => _wallRunningMechanic.IsWallRunning;
|
||||
|
||||
private float abilityBlockTimer;
|
||||
@@ -62,16 +63,14 @@ namespace Code.Gameplay.Character.Controller
|
||||
_characterConfig.slideMinVelocityThreshold,
|
||||
_characterConfig.slideCooldown
|
||||
);
|
||||
_wallRunningMechanic = new WallRunningMechanic();
|
||||
|
||||
// TODO: WallRunningMechanic (можно вынести в конфиг позже)
|
||||
_wallRunningMechanic.MaxWallRunTime = 1.75f;
|
||||
_wallRunningMechanic.WallRunSpeed = 15.0f;
|
||||
_wallRunningMechanic.WallRunAcceleration = 25.0f;
|
||||
_wallRunningMechanic.WallRunGravityScale = 0.25f;
|
||||
_wallRunningMechanic.WallDetachImpulse = 7.0f;
|
||||
_wallRunningMechanic.WallContactAngleThreshold = 45.0f;
|
||||
|
||||
_wallRunningMechanic = new WallRunningMechanic(
|
||||
_characterConfig.wallRunMaxTime,
|
||||
_characterConfig.wallRunSpeed,
|
||||
_characterConfig.wallRunAcceleration,
|
||||
_characterConfig.wallRunGravityScale,
|
||||
_characterConfig.wallDetachImpulse,
|
||||
_characterConfig.wallContactAngleThreshold
|
||||
);
|
||||
_wallLeanMechanic = new WallLeanMechanic(
|
||||
_characterConfig.leanAngle,
|
||||
_characterConfig.leanThreshold,
|
||||
@@ -82,8 +81,11 @@ namespace Code.Gameplay.Character.Controller
|
||||
_characterConfig.stableMovementSharpness,
|
||||
_characterConfig.jumpSpeed
|
||||
);
|
||||
_airMovement = new AirMovementSystem(_characterConfig.gravity);
|
||||
|
||||
_airMovement = new AirMovementSystem(
|
||||
_characterConfig.gravity,
|
||||
_characterConfig.maxAirSpeed,
|
||||
_characterConfig.airControlSharpness
|
||||
);
|
||||
|
||||
motor.CharacterController = this; // Регистрация этого контроллера в движке
|
||||
_inputHandler.FirstPersonCameraRotation =
|
||||
@@ -214,7 +216,7 @@ namespace Code.Gameplay.Character.Controller
|
||||
// Если персонаж не на земле — стандартное воздушное движение
|
||||
else
|
||||
{
|
||||
_airMovement.UpdateVelocity(ref currentVelocity, deltaTime);
|
||||
_airMovement.UpdateVelocity(ref currentVelocity, _inputHandler, motor, deltaTime);
|
||||
_groundMovement.CancelJumpRequest();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user