public void UpdateVisuals()
{
var instance = Singleton<NetManager>.instance;
var currentFrameIndex = Singleton<SimulationManager>.instance.m_currentFrameIndex;
LastChange = 0u;
LastChangeFrame = currentFrameIndex >> 6;
RoadBaseAI.TrafficLightState vehicleLightState;
RoadBaseAI.TrafficLightState pedestrianLightState;
bool vehicles;
bool pedestrians;
RoadBaseAI.GetTrafficLightState(Node, ref instance.m_segments.m_buffer[Segment],
currentFrameIndex - 256u, out vehicleLightState, out pedestrianLightState, out vehicles, out pedestrians);
if (LightMain == RoadBaseAI.TrafficLightState.Red &&
LightLeft == RoadBaseAI.TrafficLightState.Red &&
LightRight == RoadBaseAI.TrafficLightState.Red)
{
Debug.Log("Changing Light with segment Id" + Segment + " and node id " + Node + " to red.");
vehicleLightState = RoadBaseAI.TrafficLightState.Red;
}
else
{
Debug.Log("Changing Light with segment Id" + Segment + " and node id " + Node + " to green.");
vehicleLightState = RoadBaseAI.TrafficLightState.Green;
}
pedestrianLightState = LightPedestrian;
RoadBaseAI.SetTrafficLightState(Node, ref instance.m_segments.m_buffer[Segment], currentFrameIndex,
vehicleLightState, pedestrianLightState, vehicles, pedestrians);
}