public CustomSegmentLight(CustomSegmentLights lights, RoadBaseAI.TrafficLightState mainLight)
        {
            this.lights = lights;

            SetStates(mainLight, leftLight, rightLight);
            UpdateVisuals();
        }
Beispiel #2
0
        public ICustomSegmentLights Clone(ICustomSegmentLightsManager newLightsManager, bool performHousekeeping = true)
        {
            CustomSegmentLights clone = new CustomSegmentLights(newLightsManager != null ? newLightsManager : LightsManager, SegmentId, StartNode, false, false);

            foreach (KeyValuePair <ExtVehicleType, ICustomSegmentLight> e in CustomLights)
            {
                clone.CustomLights.Add(e.Key, (ICustomSegmentLight)e.Value.Clone());
            }
            clone.InternalPedestrianLightState = InternalPedestrianLightState;
            clone.manualPedestrianMode         = manualPedestrianMode;
            clone.VehicleTypes             = new LinkedList <ExtVehicleType>(VehicleTypes);
            clone.LastChangeFrame          = LastChangeFrame;
            clone.mainVehicleType          = mainVehicleType;
            clone.AutoPedestrianLightState = AutoPedestrianLightState;
            if (performHousekeeping)
            {
                clone.Housekeeping(false, false);
            }
            return(clone);
        }