internal static void UnapplyEmergencyBrake(Train Train)
{
if (Train.Specs.CurrentEmergencyBrake.Driver)
{
// sound
Sounds.SoundBuffer buffer = Train.Cars[Train.DriverCar].Sounds.BrakeHandleRelease.Buffer;
if (buffer != null)
{
OpenBveApi.Math.Vector3 pos = Train.Cars[Train.DriverCar].Sounds.BrakeHandleRelease.Position;
Sounds.PlaySound(buffer, 1.0, 1.0, pos, Train, Train.DriverCar, false);
}
// apply
ApplyNotch(Train, 0, !Train.Specs.SingleHandle, Train.Specs.MaximumBrakeNotch, true);
ApplyAirBrakeHandle(Train, AirBrakeHandleState.Service);
Train.Specs.CurrentEmergencyBrake.Driver = false;
// plugin
if (Train.Plugin == null) return;
Train.Plugin.UpdatePower();
Train.Plugin.UpdateBrake();
}
}