using System.Collections; using System.Collections.Generic; using UnityEngine; public class FallawayFloor : MonoBehaviour { // Speed at which the object moves towards the ground. public float speed; // Time it takes for ogjecct to begin moving towards the ground. public float fallAwayTime; // Time taken for object to be destroyed. public float destroyObjectTime; public Material dissolve; Rigidbody rb; private void Start() { // Get Rigidbody component. rb = GetComponent(); } private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) { // Start the Destroy floor coroutine and switch to the dissolve material. StartCoroutine(DestroyFloor()); GetComponent().material = dissolve; } } IEnumerator DestroyFloor() { // Take fallAwayTime, speed, and destroyObjectTime from editor and apply yield return new WaitForSeconds(fallAwayTime); rb.velocity = Vector3.down * speed; yield return new WaitForSeconds(destroyObjectTime); Destroy(gameObject); } }