TrafficManager.TrafficLight.ManualSegmentLight.UpdateVisuals C# (CSharp) Method

UpdateVisuals() public method

public UpdateVisuals ( ) : void
return void
        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);
        }