summaryrefslogtreecommitdiff
path: root/GenericForceMovement.cs
blob: 4c8160faf352f07fe8c6228355e568e9e75c276a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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<CollisionChecker>();
	}

	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);
		}
	}
}