@@ -310,25 +310,6 @@ public override void Restore(BinaryReader inf)
310
310
311
311
public override void Initialize ( bool handbrakeOn , float maxPressurePSI , float fullServPressurePSI , bool immediateRelease )
312
312
{
313
- // reducing size of Emergency Reservoir for short (fake) cars
314
- if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && Car . CarLengthM <= 1 )
315
- EmergResVolumeM3 = Math . Min ( 0.02f , EmergResVolumeM3 ) ;
316
-
317
- // Install a plain triple valve if no brake valve defined
318
- // Do not install it for tenders if not defined, to allow tenders with straight brake only
319
- if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . None && ( Car as MSTSWagon ) . WagonType != TrainCar . WagonTypes . Tender )
320
- {
321
- ( Car as MSTSWagon ) . BrakeValve = MSTSWagon . BrakeValveType . TripleValve ;
322
- Trace . TraceWarning ( "{0} does not define a brake valve, defaulting to a plain triple valve" , ( Car as MSTSWagon ) . WagFilePath ) ;
323
- }
324
-
325
- // In simple brake mode set emergency reservoir volume, override high volume values to allow faster brake release.
326
- if ( Car . Simulator . Settings . SimpleControlPhysics && EmergResVolumeM3 > 2.0 )
327
- EmergResVolumeM3 = 0.7f ;
328
-
329
- if ( MaxTripleValveCylPressurePSI == 0 ) MaxTripleValveCylPressurePSI = MaxCylPressurePSI / RelayValveRatio ;
330
- if ( EngineRelayValveRatio == 0 ) EngineRelayValveRatio = RelayValveRatio ;
331
-
332
313
BrakeLine1PressurePSI = Car . Train . EqualReservoirPressurePSIorInHg ;
333
314
BrakeLine2PressurePSI = Car . Train . BrakeLine2PressurePSI ;
334
315
BrakeLine3PressurePSI = 0 ;
@@ -344,11 +325,32 @@ public override void Initialize(bool handbrakeOn, float maxPressurePSI, float fu
344
325
HoldingValve = ValveState . Release ;
345
326
HandbrakePercent = handbrakeOn & ( Car as MSTSWagon ) . HandBrakePresent ? 100 : 0 ;
346
327
SetRetainer ( RetainerSetting . Exhaust ) ;
347
- MSTSLocomotive loco = Car as MSTSLocomotive ;
348
- if ( loco != null )
328
+ if ( Car is MSTSLocomotive loco )
349
329
{
350
330
loco . MainResPressurePSI = loco . MaxMainResPressurePSI ;
351
331
}
332
+ }
333
+
334
+ public override void Initialize ( )
335
+ {
336
+ // reducing size of Emergency Reservoir for short (fake) cars
337
+ if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && Car . CarLengthM <= 1 )
338
+ EmergResVolumeM3 = Math . Min ( 0.02f , EmergResVolumeM3 ) ;
339
+
340
+ // Install a plain triple valve if no brake valve defined
341
+ // Do not install it for tenders if not defined, to allow tenders with straight brake only
342
+ if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . None && ( Car as MSTSWagon ) . WagonType != TrainCar . WagonTypes . Tender )
343
+ {
344
+ ( Car as MSTSWagon ) . BrakeValve = MSTSWagon . BrakeValveType . TripleValve ;
345
+ Trace . TraceWarning ( "{0} does not define a brake valve, defaulting to a plain triple valve" , ( Car as MSTSWagon ) . WagFilePath ) ;
346
+ }
347
+
348
+ // In simple brake mode set emergency reservoir volume, override high volume values to allow faster brake release.
349
+ if ( Car . Simulator . Settings . SimpleControlPhysics && EmergResVolumeM3 > 2.0 )
350
+ EmergResVolumeM3 = 0.7f ;
351
+
352
+ if ( MaxTripleValveCylPressurePSI == 0 ) MaxTripleValveCylPressurePSI = MaxCylPressurePSI / RelayValveRatio ;
353
+ if ( EngineRelayValveRatio == 0 ) EngineRelayValveRatio = RelayValveRatio ;
352
354
353
355
if ( EmergResVolumeM3 > 0 && EmergAuxVolumeRatio > 0 && BrakePipeVolumeM3 > 0 )
354
356
AuxBrakeLineVolumeRatio = EmergResVolumeM3 / EmergAuxVolumeRatio / BrakePipeVolumeM3 ;
@@ -357,7 +359,7 @@ public override void Initialize(bool handbrakeOn, float maxPressurePSI, float fu
357
359
358
360
if ( CylVolumeM3 == 0 ) CylVolumeM3 = EmergResVolumeM3 / EmergAuxVolumeRatio / AuxCylVolumeRatio ;
359
361
360
- RelayValveFitted |= ( loco != null && ( loco . DynamicBrakeAutoBailOff || loco . DynamicBrakePartialBailOff ) ) || ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . DistributingValve ;
362
+ RelayValveFitted |= ( Car is MSTSLocomotive loco && ( loco . DynamicBrakeAutoBailOff || loco . DynamicBrakePartialBailOff ) ) || ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . DistributingValve ;
361
363
}
362
364
363
365
/// <summary>
0 commit comments