using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Script { public class RoadEventManager : MonoBehaviour { private List triggeredTriggers = new List(); private IEnumerator Start() { while (true) { // 在每一帧等待,等待下一帧检测事件 yield return null; // 在这里处理当前触发器事件的逻辑 foreach (var trigger in triggeredTriggers) { Debug.Log(trigger.name); // 处理触发器事件的逻辑 } } } private void OnTriggerEnter(Collider other) { // 检查是否已经在触发器列表中 if (!triggeredTriggers.Contains(other)) { // 进入新的触发器时,保存它到列表 triggeredTriggers.Add(other); // 在这里执行触发器进入事件的处理逻辑 } } private void OnTriggerExit(Collider other) { // 离开触发器时,从列表中移除它 triggeredTriggers.Remove(other); // 在这里执行触发器离开事件的处理逻辑 } } }