diff --git a/U3D_DrivingSystem/Assets/Script/TrafficLightManager.cs b/U3D_DrivingSystem/Assets/Script/TrafficLightManager.cs index 4aa54026..f35372d5 100644 --- a/U3D_DrivingSystem/Assets/Script/TrafficLightManager.cs +++ b/U3D_DrivingSystem/Assets/Script/TrafficLightManager.cs @@ -23,6 +23,7 @@ public class TrafficLightManager : MonoBehaviour public TrafficLightState currentState; public TrafficLightState previousState; // 新增字段,用于保存黄灯之前的状态 public List trafficLights = new List(); + public List roadEventTrigger = new List(); public void Initialize() { @@ -41,7 +42,7 @@ public class TrafficLightManager : MonoBehaviour { if (light != null) { - // 假设你有一个方法来根据状态获取相应的贴图 + // 假设你有一个方法来根据状态获取相应的贴图 //Texture newTexture = GetTextureForState(state); light.transform.Find("red2").GetComponent().material.DisableKeyword("_EMISSION"); light.transform.Find("yellow1").GetComponent().material.DisableKeyword("_EMISSION"); @@ -62,6 +63,11 @@ public class TrafficLightManager : MonoBehaviour } } + foreach (var v in roadEventTrigger) + { + v.SetActive(true); + } + break; case TrafficLightState.Yellow: foreach (var light in trafficLights) @@ -85,7 +91,12 @@ public class TrafficLightManager : MonoBehaviour light.transform.Find("green2").GetComponent().material.EnableKeyword("_EMISSION"); } } - AddRedLightWarning(); + + foreach (var v in roadEventTrigger) + { + v.SetActive(false); + } + // AddRedLightWarning(); break; default: throw new ArgumentOutOfRangeException(nameof(state), state, null); @@ -133,7 +144,7 @@ public class TrafficLightManager : MonoBehaviour // 以下是一个示例,在控制台输出警告信息: Debug.LogWarning("红灯警告:请注意停车!"); } - + void UpdateTrafficLightGroup(TrafficLightGroup group) { group.timer -= Time.deltaTime;