diff options
Diffstat (limited to 'GameCode/Gravity.cs')
-rw-r--r-- | GameCode/Gravity.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/GameCode/Gravity.cs b/GameCode/Gravity.cs new file mode 100644 index 0000000..1d9cb83 --- /dev/null +++ b/GameCode/Gravity.cs @@ -0,0 +1,35 @@ +using UnityEngine; + +public class Gravity : MonoBehaviour +{ + public float gravityForce; + + public float exponent = 1f; + + private PlayerVelocity rig; + + private CharacterData data; + + private void Start() + { + data = GetComponent<CharacterData>(); + rig = GetComponent<PlayerVelocity>(); + } + + private void FixedUpdate() + { + float num = data.sinceGrounded; + if (data.sinceWallGrab < num) + { + num = data.sinceWallGrab; + } + if (num > 0f) + { + rig.AddForce(Vector3.down * TimeHandler.timeScale * Mathf.Pow(num, exponent) * gravityForce * rig.mass, ForceMode2D.Force); + } + else + { + rig.AddForce(Vector3.down * TimeHandler.timeScale * num * gravityForce * rig.mass, ForceMode2D.Force); + } + } +} |