Skip to content

Commit 68cd8ab

Browse files
committed
Cast MstsSignalFunction to SignalFunction
1 parent 6cdbdfe commit 68cd8ab

File tree

2 files changed

+9
-29
lines changed

2 files changed

+9
-29
lines changed

Source/Orts.Formats.Msts/SignalScripts.cs

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2513,33 +2513,7 @@ public SCRParameterType(SCRTermType TypeIn, int IntIn)
25132513
{
25142514
PartType = TypeIn;
25152515
PartParameter = IntIn;
2516-
switch(IntIn)
2517-
{
2518-
case 0:
2519-
SignalFunction = SignalFunction.NORMAL;
2520-
break;
2521-
case 1:
2522-
SignalFunction = SignalFunction.DISTANCE;
2523-
break;
2524-
case 2:
2525-
SignalFunction = SignalFunction.REPEATER;
2526-
break;
2527-
case 3:
2528-
SignalFunction = SignalFunction.SHUNTING;
2529-
break;
2530-
case 4:
2531-
SignalFunction = SignalFunction.INFO;
2532-
break;
2533-
case 5:
2534-
SignalFunction = SignalFunction.SPEED;
2535-
break;
2536-
case 6:
2537-
SignalFunction = SignalFunction.ALERT;
2538-
break;
2539-
default:
2540-
SignalFunction = SignalFunction.UNKNOWN;
2541-
break;
2542-
}
2516+
if (Enum.IsDefined(typeof(MstsSignalFunction), IntIn)) SignalFunction = new SignalFunction((MstsSignalFunction)IntIn);
25432517
}
25442518

25452519
// <summary>

Source/Orts.Simulation/Simulation/Signalling/SIGSCRfile.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,10 @@ public int SH_function_value(SignalHead thisHead, SignalScripts.SCRScripts.SCRSt
529529
parameter1_value = SH_termvalue(thisHead, thisParameter,
530530
localFloats, sigscr);
531531

532-
function1 = thisParameter.SignalFunction;
532+
if (thisParameter.SignalFunction != null)
533+
{
534+
function1 = thisParameter.SignalFunction;
535+
}
533536
}
534537

535538
if (thisTerm.PartParameter.Length >= 2)
@@ -538,7 +541,10 @@ public int SH_function_value(SignalHead thisHead, SignalScripts.SCRScripts.SCRSt
538541
parameter2_value = SH_termvalue(thisHead, thisParameter,
539542
localFloats, sigscr);
540543

541-
function2 = thisParameter.SignalFunction;
544+
if (thisParameter.SignalFunction != null)
545+
{
546+
function2 = thisParameter.SignalFunction;
547+
}
542548
}
543549
}
544550

0 commit comments

Comments
 (0)