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
using UnityEngine;
namespace TurnTheGameOn.IKDriver{
public class IKD_VehicleSelfRighting : MonoBehaviour {
#region Public Variables
public float waitTime = 3f;
public float velocityThreshold = 1f;
#endregion
#region Private Variables
private float lastOkTime;
private Rigidbody rigidbodyRef;
#endregion
#region Main Methods
void Start(){
rigidbodyRef = GetComponent<Rigidbody>();
}
void Update(){
if (transform.up.y > 0f || rigidbodyRef.velocity.magnitude > velocityThreshold){
lastOkTime = Time.time;
}
if (Time.time > lastOkTime + waitTime){
RightCar();
}
}
void RightCar() {
transform.position += Vector3.up;
transform.rotation = Quaternion.LookRotation(transform.forward);
}
#endregion
}
}