From 6ce8b9e22fc13be34b442c7b6af48b42cd44275a Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Wed, 13 Mar 2024 11:00:58 +0800 Subject: +init --- GenericForceMovement.cs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 GenericForceMovement.cs (limited to 'GenericForceMovement.cs') diff --git a/GenericForceMovement.cs b/GenericForceMovement.cs new file mode 100644 index 0000000..4c8160f --- /dev/null +++ b/GenericForceMovement.cs @@ -0,0 +1,40 @@ +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); + } + } +} -- cgit v1.1-26-g67d0