diff --git a/UOP1_Project/Assets/Scripts/Characters/Protagonist.cs b/UOP1_Project/Assets/Scripts/Characters/Protagonist.cs index c390ca7aa6..2640923911 100644 --- a/UOP1_Project/Assets/Scripts/Characters/Protagonist.cs +++ b/UOP1_Project/Assets/Scripts/Characters/Protagonist.cs @@ -109,6 +109,26 @@ private void RecalculateMovement() _previousSpeed = targetSpeed; } + // Ensure that player does not get stuck in corners/edges of rocks + void OnCollisionEnter(Collision collisionInfo) + { + if (collisionInfo.gameObject.name.Contains("rock") || + collisionInfo.gameObject.name.Contains("Rock")){ + + // While colliding with a rock, increase character controller slope limit + GetComponent().slopeLimit = 90; + } + } + void OnCollisionExit(Collision collisionInfo) + { + if (collisionInfo.gameObject.name.Contains("rock") || + collisionInfo.gameObject.name.Contains("Rock")){ + + // After colliding with a rock, decrease character controller slope limit + GetComponent().slopeLimit = 50; + } + } + //---- EVENT LISTENERS ---- private void OnMove(Vector2 movement)