summaryrefslogtreecommitdiff
path: root/WheelVisualizer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'WheelVisualizer.cs')
-rw-r--r--WheelVisualizer.cs37
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);
+ }
+}