73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
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<Collider>();
|
|
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<Collider>();
|
|
// 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; // 等待下一帧
|
|
}
|
|
}
|
|
}
|