/// <summary> /// 存储从交叉口roadNode进入路段的车辆,因为时间超前一个时间步长, /// 需要放入队列中防止一个元胞先更新到路段,然后在路段内又更新一次更新两次 /// </summary> //private Queue<Cell> queWaitedCell = new Queue<Cell>(); /// <summary> /// 修改信号灯组合 /// </summary> /// <param name="sl">新的信号灯</param> /// <param name="lt">要修改的车道类型</param> public void ModifySignalGroup(SignalLight sl, LaneType lt) { foreach (Lane rl in this.Lanes) { if (rl.laneType == lt) { rl.SignalLight = sl; } } }
private void DuringSceneGUI(SceneView sv) { SignalLight t = target as SignalLight; var position = t.transform.position; var rotation = t.transform.rotation; Handles.TransformHandle(ref position, ref rotation); t.transform.position = position; t.transform.rotation = rotation; Undo.RecordObject(t.transform, "SignalLight"); }
public void SetSignalMeshData() { var signalLights = new List <SignalLight>(); signalLights.AddRange(FindObjectsOfType <SignalLight>()); foreach (var light in signalLights) { if (Vector3.Distance(transform.position, light.transform.position) < 0.1f) { CurrentSignalLight = light; break; } } }
// Use this for initialization void Start() { StartCoroutine(Example()); sr = south[0].GetComponent <SignalLight>(); sf = south[1].GetComponent <SignalLight>(); sl = south[2].GetComponent <SignalLight>(); nr = north[0].GetComponent <SignalLight>(); nf = north[1].GetComponent <SignalLight>(); nl = north[2].GetComponent <SignalLight>(); snCrossMainS = southCross[0].GetComponent <SignalLight>(); snCrossMainN = southCross[1].GetComponent <SignalLight>(); snCrossSubL = southCrossSub[0].GetComponent <SignalLight>(); snCrossSubR = southCrossSub[1].GetComponent <SignalLight>(); wr = west[0].GetComponent <SignalLight>(); wf = west[1].GetComponent <SignalLight>(); wl = west[2].GetComponent <SignalLight>(); er = east[0].GetComponent <SignalLight>(); ef = east[1].GetComponent <SignalLight>(); el = east[2].GetComponent <SignalLight>(); srD = southD[0].GetComponent <SignalLight>(); sfD = southD[1].GetComponent <SignalLight>(); slD = southD[2].GetComponent <SignalLight>(); nrD = northD[0].GetComponent <SignalLight>(); nfD = northD[1].GetComponent <SignalLight>(); nlD = northD[2].GetComponent <SignalLight>(); wrD = westD[0].GetComponent <SignalLight>(); wfD = westD[1].GetComponent <SignalLight>(); wlD = westD[2].GetComponent <SignalLight>(); erD = eastD[0].GetComponent <SignalLight>(); efD = eastD[1].GetComponent <SignalLight>(); elD = eastD[2].GetComponent <SignalLight>(); }