using UnityEngine; public class Gravity : MonoBehaviour { public float baseGravity; public float scalingGravity; private RigidbodyHolder allRigs; private StandingDataHandler standingData; private Holding holding; private PlayerDeath death; private void Start() { death = GetComponent(); allRigs = GetComponent(); standingData = GetComponent(); holding = GetComponent(); } private void FixedUpdate() { if (death.dead) { return; } for (int i = 0; i < allRigs.GetAllRigs().Length; i++) { allRigs.GetAllRigs()[i].AddForce(Vector3.down * baseGravity + Vector3.down * scalingGravity * standingData.sinceGrounded, ForceMode.Acceleration); } if ((bool)holding) { if ((bool)holding.heldObject) { holding.heldObject.rig.AddForce(Vector3.down * baseGravity + Vector3.down * scalingGravity * standingData.sinceGrounded, ForceMode.Acceleration); } if ((bool)holding.heldObjectOffHand) { holding.heldObjectOffHand.rig.AddForce(Vector3.down * baseGravity + Vector3.down * scalingGravity * standingData.sinceGrounded, ForceMode.Acceleration); } } } }