diff options
Diffstat (limited to 'WheelVisualizer.cs')
-rw-r--r-- | WheelVisualizer.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/WheelVisualizer.cs b/WheelVisualizer.cs new file mode 100644 index 0000000..679db09 --- /dev/null +++ b/WheelVisualizer.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +public class WheelVisualizer : MonoBehaviour +{ + private Rigidbody rig; + + public float spinAmount; + + public float inputVelocityAmount; + + public float inputReturnVelocityAmount; + + public float inputFriction; + + private GenericInputHandler input; + + private float inputVelocity; + + private void Start() + { + rig = GetComponentInParent<Rigidbody>(); + input = GetComponentInParent<GenericInputHandler>(); + } + + private void FixedUpdate() + { + inputVelocity *= inputFriction; + } + + private void Update() + { + inputVelocity += input.inputDirection.x; + inputVelocity -= inputVelocity * inputReturnVelocityAmount * Time.deltaTime; + base.transform.localRotation = Quaternion.Euler(0f, inputVelocity * inputVelocityAmount, 0f); + base.transform.GetChild(0).Rotate(Vector3.right * spinAmount * Time.deltaTime * rig.transform.InverseTransformDirection(rig.velocity).z, Space.Self); + } +} |