2024-11-28 12:36:48 +01:00

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