fix: Made it so that you can repeatedly bounce on bounce pads

This commit is contained in:
Nicholas Novak
2023-05-05 00:32:44 -07:00
parent 14fe75dd44
commit 9057a159c0
3 changed files with 316 additions and 62 deletions

View File

@@ -15,6 +15,8 @@ public class Bouncepad : MonoBehaviour
[SerializeField]
public float bounceForce = 20f;
[SerializeField]
public float verticalMultiplier = 1.0f;
public Facing Direction()
{

View File

@@ -296,20 +296,25 @@ public class PlayerBehavior : MonoBehaviour
{
// Assign the player's velocity to zero so that the player can
// bounce on the same jump pad
this.playerController.RB.velocity = new Vector2(
this.playerController.RB.velocity.x,
0
);
// this.playerController.RB.velocity = new Vector2(
// this.playerController.RB.velocity.x,
// 0
// );
this.playerController.RB.velocity = Vector2.zero;
Bouncepad pad = col.GetComponent<Bouncepad>();
switch (pad.Direction())
{
case Bouncepad.Facing.Left:
this.playerController.RB.AddForce(
new Vector2(-pad.bounceForce, pad.bounceForce),
new Vector2(-pad.bounceForce, pad.verticalMultiplier * pad.bounceForce),
ForceMode2D.Impulse
);
break;
case Bouncepad.Facing.Right:
this.playerController.RB.AddForce(
new Vector2(pad.bounceForce, pad.verticalMultiplier * pad.bounceForce),
ForceMode2D.Impulse
);
break;
}
}