コード例 #1
0
ファイル: ExitSignal.cs プロジェクト: ikryloff/RailRoadMaster
 private void ExitTurnLightOn()
 {
     StartSignalFlashing(yellowSignalFlashing);
     LampSwitchOn(botYellow, BottomYellowSignal);
     LampSwitchOff(red, RedSignal);
     LampSwitchOff(white, WhiteSignal);
     LampSwitchOff(green, GreenSignal);
     IsClosed = false;
     if (TLRepeater)
     {
         TLRepeater.RepeaterOnTrain();
     }
 }
コード例 #2
0
ファイル: ExitSignal.cs プロジェクト: ikryloff/RailRoadMaster
    private void ExitStraightLightOn()
    {
        LampsOff();

        LampSwitchOn(green, GreenSignal);

        LampSwitchOff(red, RedSignal);
        IsClosed = false;
        if (TLRepeater)
        {
            TLRepeater.RepeaterOnTrain();
        }
    }
コード例 #3
0
 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();
 }
コード例 #4
0
    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();
                }
            }
        }
    }