@@ -218,16 +218,45 @@ public override void Update(float elapsedClockSeconds)
218
218
public override string GetStatus ( )
219
219
{
220
220
var status = new StringBuilder ( ) ;
221
- if ( HasGearController )
222
- status . AppendFormat ( "{0} = {1}\n " , Simulator . Catalog . GetString ( "Gear" ) ,
223
- ControlGearIndex < 0 ? Simulator . Catalog . GetParticularString ( "Gear" , "N" ) : ( ControlGearIndication ) . ToString ( ) ) ;
224
- status . AppendLine ( ) ;
225
221
status . AppendFormat ( "{0} = {1}\n " ,
226
222
Simulator . Catalog . GetString ( "Battery switch" ) ,
227
223
LocomotivePowerSupply . BatterySwitch . On ? Simulator . Catalog . GetString ( "On" ) : Simulator . Catalog . GetString ( "Off" ) ) ;
228
224
status . AppendFormat ( "{0} = {1}\n " ,
229
225
Simulator . Catalog . GetString ( "Master key" ) ,
230
226
LocomotivePowerSupply . MasterKey . On ? Simulator . Catalog . GetString ( "On" ) : Simulator . Catalog . GetString ( "Off" ) ) ;
227
+ if ( ControlActiveLocomotive != null )
228
+ {
229
+ status . AppendLine ( ) ;
230
+ if ( ControlActiveLocomotive is MSTSElectricLocomotive electric )
231
+ {
232
+ status . AppendFormat ( "{0} = " , Simulator . Catalog . GetString ( "Pantographs" ) ) ;
233
+ foreach ( var pantograph in electric . Pantographs . List )
234
+ status . AppendFormat ( "{0} " , Simulator . Catalog . GetParticularString ( "Pantograph" , GetStringAttribute . GetPrettyName ( pantograph . State ) ) ) ;
235
+ status . AppendLine ( ) ;
236
+ status . AppendFormat ( "{0} = {1}\n " ,
237
+ Simulator . Catalog . GetString ( "Circuit breaker" ) ,
238
+ Simulator . Catalog . GetParticularString ( "CircuitBreaker" , GetStringAttribute . GetPrettyName ( electric . ElectricPowerSupply . CircuitBreaker . State ) ) ) ;
239
+ }
240
+ else if ( ControlActiveLocomotive is MSTSDieselLocomotive diesel )
241
+ {
242
+ status . AppendLine ( ) ;
243
+ status . AppendFormat ( "{0} = {1}\n " , Simulator . Catalog . GetString ( "Engine" ) ,
244
+ Simulator . Catalog . GetParticularString ( "Engine" , GetStringAttribute . GetPrettyName ( diesel . DieselEngines [ 0 ] . State ) ) ) ;
245
+ if ( HasGearController )
246
+ status . AppendFormat ( "{0} = {1}\n " , Simulator . Catalog . GetString ( "Gear" ) ,
247
+ ControlGearIndex < 0 ? Simulator . Catalog . GetParticularString ( "Gear" , "N" ) : ( ControlGearIndication ) . ToString ( ) ) ;
248
+ status . AppendFormat ( "{0} = {1}\n " ,
249
+ Simulator . Catalog . GetString ( "Traction cut-off relay" ) ,
250
+ Simulator . Catalog . GetParticularString ( "TractionCutOffRelay" , GetStringAttribute . GetPrettyName ( diesel . DieselPowerSupply . TractionCutOffRelay . State ) ) ) ;
251
+ }
252
+ status . AppendFormat ( "{0} = {1}\n " ,
253
+ Simulator . Catalog . GetString ( "Electric train supply" ) ,
254
+ ControlActiveLocomotive . LocomotivePowerSupply . ElectricTrainSupplySwitch . On ? Simulator . Catalog . GetString ( "On" ) : Simulator . Catalog . GetString ( "Off" ) ) ;
255
+ status . AppendLine ( ) ;
256
+ status . AppendFormat ( "{0} = {1}" ,
257
+ Simulator . Catalog . GetParticularString ( "PowerSupply" , "Power" ) ,
258
+ Simulator . Catalog . GetParticularString ( "PowerSupply" , GetStringAttribute . GetPrettyName ( ControlActiveLocomotive . LocomotivePowerSupply . MainPowerSupplyState ) ) ) ;
259
+ }
231
260
return status . ToString ( ) ;
232
261
}
233
262
0 commit comments