private void ExitTurnLightOn() { StartSignalFlashing(yellowSignalFlashing); LampSwitchOn(botYellow, BottomYellowSignal); LampSwitchOff(red, RedSignal); LampSwitchOff(white, WhiteSignal); LampSwitchOff(green, GreenSignal); IsClosed = false; if (TLRepeater) { TLRepeater.RepeaterOnTrain(); } }
private void ExitStraightLightOn() { LampsOff(); LampSwitchOn(green, GreenSignal); LampSwitchOff(red, RedSignal); IsClosed = false; if (TLRepeater) { TLRepeater.RepeaterOnTrain(); } }
public override void LightOn(RouteItem route) { // saving for Update lights depSignal = route.DependsOnSignal; isStraight = route.IsStraight; IsClosed = false; UpdateSignals(); //repeater if (TLRepeater) { TLRepeater.RepeaterOnTrain(); } EventManager.TrainSignalChanged(); }
protected void UpdateSignals() { if (depSignal) { if (!IsClosed) { if (depSignal.IsClosed) { if (isStraight) { EntranceStraightLightToClosedOn(); } else { EntranceTurnLightToClosedOn(); } } else if (!depSignal.IsClosed) { if (isStraight) { EntranceStraightLightToOpenedOn(); } else { EntranceTurnLightToOpenedOn(); } } IsClosed = false; if (TLRepeater) { TLRepeater.RepeaterOnTrain(); } } else { if (TLRepeater) { TLRepeater.RepeaterOffTrain(); } } } }