using DG.Tweening; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; public class Detection : MonoBehaviour { private Collider triggerCollider; private void Start() { triggerCollider = GetComponent(); if (triggerCollider == null) { Debug.LogError("没有找到碰撞体!"); return; } } private void Update() { // 检查触发器是否被禁用 if (!triggerCollider.enabled) { // 如果失活,启动协程 StartCoroutine(ActivateAfterDelay(15f)); } //if (Input.GetMouseButtonDown(2)) //{ // transform.DOMoveY(transform.position.y + 0.4f, 1f).SetEase(Ease.InOutQuad).OnComplete(() => // { // Collider collider = GetComponent(); // if (collider) // { // collider.enabled = false; // Debug.Log("失活了箱子触发器"); // transform.SetParent(null); // } // Debug.Log("卸箱动画向上提"); // transform.DOMoveY(transform.position.y - 0.4f, 1f).SetEase(Ease.InOutQuad).OnComplete(() => // { // Debug.Log("卸箱动画向下提"); // }); // }); //} } private IEnumerator ActivateAfterDelay(float delay) { // 等待指定的时间 yield return new WaitForSeconds(delay); // 激活触发器 triggerCollider.enabled = true; //Debug.Log("触发器已激活!"); // 继续监测触发器状态 while (true) { // 检查是否仍然激活 if (!triggerCollider.enabled) { //Debug.Log("再次调用十五秒再调用"); // 如果再次失活,重启协程 StartCoroutine(ActivateAfterDelay(15f)); yield break; // 退出当前协程 } yield return null; // 等待下一帧 } } }