This commit is contained in:
MrTorex committed 2025-11-15 13:33:44 +03:00
1 parent d1aad440f5
commit a2acea39dc
4 files changed
+8 -11

No files matched your search

@@ -19,8 +19,8 @@ namespace Code.Gameplay.Character.Controller.Abilities
private bool _hasClimbedThisWallSession;
private float _wallClimbCooldownTimer;
private readonly float _wallClimbCooldownDuration = 1.5f;
public bool IsWallInteractionAllowed =>
!_hasClimbedThisWallSession && _wallClimbCooldownTimer <= 0f;
public bool IsClimbingActive { get; private set; }
// Конструктор механики залазания на стену
public WallClimbMechanic(float wallClimbSpeedFactor, float minWallClimbSpeed, float wallDetectionAngleThreshold)
@@ -54,8 +54,6 @@ namespace Code.Gameplay.Character.Controller.Abilities
// Проекция скорости на направление к стене (отрицательная, если летим в стену)
var velocityIntoWall = Vector3.Dot(currentVelocity, -hitNormal);
Debug.Log($"[TryClimbWall] velIntoWall={velocityIntoWall:F2}, min={_minWallClimbSpeed}, climbed={_hasClimbedThisWallSession}, cooldown={_wallClimbCooldownTimer:F2}");
// Если движемся в стену с достаточной скоростью
if (velocityIntoWall > _minWallClimbSpeed)
{
@@ -69,6 +67,7 @@ namespace Code.Gameplay.Character.Controller.Abilities
// Предотвращаем заземление и повторное применение в этом кадре
motor.ForceUnground();
_hasClimbedThisWallSession = true;
IsClimbingActive = true;
return true;
}
@@ -79,6 +78,7 @@ namespace Code.Gameplay.Character.Controller.Abilities
public void ResetWallClimbSession()
{
_hasClimbedThisWallSession = false;
IsClimbingActive = false;
}
public void TickCooldown(float deltaTime)