ATC Bombardier: check track state
parent
594e053860
commit
927ebd567c
|
@ -45,6 +45,18 @@ namespace OpenbveFcmbTrainPlugin
|
|||
/// <summary>The current state of the ATC control.</summary>
|
||||
private AtcControlStates AtcControlState;
|
||||
|
||||
/// <summary>Represents the state of the track.</summary>
|
||||
private enum TrackStates
|
||||
{
|
||||
Unprotected,
|
||||
Enable,
|
||||
ATC,
|
||||
Disable
|
||||
}
|
||||
|
||||
/// <summary>The current state of the track.</summary>
|
||||
private TrackStates TrackState;
|
||||
|
||||
/// <summary>The time needed by the ATC device to initialize, in seconds.</summary>
|
||||
private double InitializationTime;
|
||||
|
||||
|
@ -360,11 +372,30 @@ namespace OpenbveFcmbTrainPlugin
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>Is called to inform about signals.</summary>
|
||||
/// <param name="signal">The signal data.</param>
|
||||
internal override void SetSignal(SignalData[] signal)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>Is called when a beacon is passed.</summary>
|
||||
/// <param name="beacon">The beacon data.</param>
|
||||
internal override void SetBeacon(BeaconData beacon)
|
||||
{
|
||||
|
||||
int type = beacon.Type;
|
||||
switch (type)
|
||||
{
|
||||
case -16777215:
|
||||
{
|
||||
if (!(beacon.Optional >= 0 & beacon.Optional <= 3))
|
||||
{
|
||||
break;
|
||||
}
|
||||
TrackState = (TrackStates)beacon.Optional;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Is called when the device should perform the AI.</summary>
|
||||
|
|
Loading…
Reference in New Issue