using UnityEngine; public class GenericForceMovement : MonoBehaviour { public Vector3 movementDirection; public float forceMultiplier = 1f; public MovementRig[] rigs; public bool useGroundedMultiplier; private CollisionChecker[] checkers; private void Start() { checkers = GetComponentsInChildren(); } private void FixedUpdate() { float num = 1f; if (useGroundedMultiplier) { num = 0f; for (int i = 0; i < checkers.Length; i++) { if (checkers[i].sinceGrounded < 0.1f) { num += 1f / (float)checkers.Length; } } } MovementRig[] array = rigs; foreach (MovementRig movementRig in array) { movementRig.rig.AddForce(movementDirection * num * forceMultiplier * movementRig.multiplier, ForceMode.Acceleration); } } }