47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace Passer {
|
|
|
|
public class Redrop : MonoBehaviour {
|
|
|
|
// Script which is to be replaced by CollisionEventHandler
|
|
|
|
public Collider groundCollider;
|
|
|
|
private Rigidbody thisRigidbody;
|
|
private Vector3 startPosition;
|
|
private Quaternion startRotation;
|
|
|
|
protected void Start() {
|
|
startPosition = transform.position;
|
|
startRotation = transform.rotation;
|
|
}
|
|
|
|
protected void Update() {
|
|
if (groundCollider == null && transform.position.y < 0) {
|
|
MoveToStart();
|
|
}
|
|
}
|
|
|
|
protected void OnCollisionEnter(Collision collision) {
|
|
if (collision.collider == groundCollider) {
|
|
MoveToStart();
|
|
}
|
|
}
|
|
|
|
private void MoveToStart() {
|
|
thisRigidbody = transform.GetComponent<Rigidbody>();
|
|
if (thisRigidbody != null) {
|
|
thisRigidbody.MovePosition(new Vector3(startPosition.x, startPosition.y + 0.1F, startPosition.z));
|
|
thisRigidbody.MoveRotation(startRotation);
|
|
#if UNITY_6000_0_OR_NEWER
|
|
thisRigidbody.linearVelocity = Vector3.zero;
|
|
#else
|
|
thisRigidbody.velocity = Vector3.zero;
|
|
#endif
|
|
thisRigidbody.angularVelocity = Vector3.zero;
|
|
}
|
|
}
|
|
}
|
|
|
|
} |