Skip to content

Commit 91f0a35

Browse files
Changes in the Car Operations Menu (part of the Train Operations Window)
1 parent 0914a53 commit 91f0a35

File tree

2 files changed

+52
-8
lines changed

2 files changed

+52
-8
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/Brakes/MSTS/VacuumSinglePipe.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ protected float VacResPressureAdjPSIA()
177177
string.Empty,
178178
string.Empty,
179179
string.Empty,
180-
HandbrakePercent > 0 ? string.Format("{0:F0}%", HandbrakePercent) : string.Empty,
180+
(Car as MSTSWagon).HandBrakePresent ? string.Format("{0:F0}%", HandbrakePercent) : string.Empty,
181181
FrontBrakeHoseConnected ? "I" : "T",
182182
string.Format("A{0} B{1}", AngleCockAOpen ? "+" : "-", AngleCockBOpen ? "+" : "-"),
183183
BleedOffValveOpen ? Simulator.Catalog.GetString("Open") : string.Empty,

Source/RunActivity/Viewer3D/Popups/CarOperationsWindow.cs

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using Microsoft.Xna.Framework;
2121
using Orts.Common;
2222
using Orts.Simulation.RollingStocks;
23+
using Orts.Simulation.RollingStocks.SubSystems.Brakes;
2324
using Orts.Simulation.RollingStocks.SubSystems.Brakes.MSTS;
2425
using Orts.Simulation.RollingStocks.SubSystems.PowerSupplies;
2526
using ORTS.Common;
@@ -47,12 +48,22 @@ protected override ControlLayout Layout(ControlLayout layout)
4748
{
4849
Label ID, buttonHandbrake, buttonTogglePower, buttonToggleMU, buttonToggleBatterySwitch, buttonToggleElectricTrainSupplyCable, buttonToggleBrakeHose, buttonToggleAngleCockA, buttonToggleAngleCockB, buttonToggleBleedOffValve, buttonClose;
4950

51+
TrainCar trainCar = Viewer.PlayerTrain.Cars[CarPosition];
52+
BrakeSystem brakeSystem = (trainCar as MSTSWagon).BrakeSystem;
53+
5054
var vbox = base.Layout(layout).AddLayoutVertical();
5155
vbox.Add(ID = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Car ID") + " " + (CarPosition >= Viewer.PlayerTrain.Cars.Count? " " :Viewer.PlayerTrain.Cars[CarPosition].CarID), LabelAlignment.Center));
5256
ID.Color = Color.Red;
5357
vbox.AddHorizontalSeparator();
54-
vbox.Add(buttonHandbrake = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Toggle Handbrake"), LabelAlignment.Center));
58+
59+
string buttonHandbrakeText = "";
60+
if ((trainCar as MSTSWagon).GetTrainHandbrakeStatus())
61+
buttonHandbrakeText = Viewer.Catalog.GetString("Toggle Handbrake to off");
62+
else
63+
buttonHandbrakeText = Viewer.Catalog.GetString("Toggle Handbrake to set");
64+
vbox.Add(buttonHandbrake = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, buttonHandbrakeText, LabelAlignment.Center));
5565
vbox.AddHorizontalSeparator();
66+
5667
vbox.Add(buttonTogglePower = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Toggle Power"), LabelAlignment.Center));
5768
vbox.AddHorizontalSeparator();
5869
vbox.Add(buttonToggleMU = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Toggle MU Connection"), LabelAlignment.Center));
@@ -61,22 +72,55 @@ protected override ControlLayout Layout(ControlLayout layout)
6172
vbox.AddHorizontalSeparator();
6273
vbox.Add(buttonToggleElectricTrainSupplyCable = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Toggle Electric Train Supply Connection"), LabelAlignment.Center));
6374
vbox.AddHorizontalSeparator();
64-
vbox.Add(buttonToggleBrakeHose = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Toggle Brake Hose Connection"), LabelAlignment.Center));
75+
76+
string buttonToggleBrakeHoseText = "";
77+
if (brakeSystem.FrontBrakeHoseConnected)
78+
buttonToggleBrakeHoseText = Viewer.Catalog.GetString("Toggle Brake Hose to unconnected");
79+
else
80+
buttonToggleBrakeHoseText = Viewer.Catalog.GetString("Toggle Brake Hose to connected");
81+
vbox.Add(buttonToggleBrakeHose = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, buttonToggleBrakeHoseText, LabelAlignment.Center));
6582
vbox.AddHorizontalSeparator();
66-
vbox.Add(buttonToggleAngleCockA = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Open/Close Front Angle Cock"), LabelAlignment.Center));
83+
84+
string buttonToggleAngleCockAText = "";
85+
if (brakeSystem.AngleCockAOpen)
86+
buttonToggleAngleCockAText = Viewer.Catalog.GetString("Close Front Angle Cock");
87+
else
88+
buttonToggleAngleCockAText = Viewer.Catalog.GetString("Open Front Angle Cock");
89+
vbox.Add(buttonToggleAngleCockA = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, buttonToggleAngleCockAText, LabelAlignment.Center));
6790
vbox.AddHorizontalSeparator();
68-
vbox.Add(buttonToggleAngleCockB = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Open/Close Rear Angle Cock"), LabelAlignment.Center));
91+
92+
string buttonToggleAngleCockBText = "";
93+
if (brakeSystem.AngleCockBOpen)
94+
buttonToggleAngleCockBText = Viewer.Catalog.GetString("Close Rear Angle Cock");
95+
else
96+
buttonToggleAngleCockBText = Viewer.Catalog.GetString("Open Rear Angle Cock");
97+
vbox.Add(buttonToggleAngleCockB = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, buttonToggleAngleCockBText, LabelAlignment.Center));
6998
vbox.AddHorizontalSeparator();
70-
vbox.Add(buttonToggleBleedOffValve = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Open/Close Bleed Off Valve"), LabelAlignment.Center));
99+
100+
string buttonToggleBleedOffValveAText = "";
101+
if (brakeSystem.BleedOffValveOpen)
102+
buttonToggleBleedOffValveAText = Viewer.Catalog.GetString("Close Bleed Off Valve");
103+
else
104+
buttonToggleBleedOffValveAText = Viewer.Catalog.GetString("Open Bleed Off Valve");
105+
vbox.Add(buttonToggleBleedOffValve = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, buttonToggleBleedOffValveAText, LabelAlignment.Center));
71106
vbox.AddHorizontalSeparator();
107+
72108
vbox.Add(buttonClose = new Label(vbox.RemainingWidth, Owner.TextFontDefault.Height, Viewer.Catalog.GetString("Close window"), LabelAlignment.Center));
73109

74-
buttonHandbrake.Click += new Action<Control, Point>(buttonHandbrake_Click);
110+
if ((trainCar as MSTSWagon).HandBrakePresent)
111+
buttonHandbrake.Click += new Action<Control, Point>(buttonHandbrake_Click);
112+
else
113+
buttonHandbrake.Color = Color.Gray;
75114
buttonTogglePower.Click += new Action<Control, Point>(buttonTogglePower_Click);
76115
buttonToggleMU.Click += new Action<Control, Point>(buttonToggleMU_Click);
77116
buttonToggleBatterySwitch.Click += new Action<Control, Point>(buttonToggleBatterySwitch_Click);
78117
buttonToggleElectricTrainSupplyCable.Click += new Action<Control, Point>(buttonToggleElectricTrainSupplyCable_Click);
79-
buttonToggleBrakeHose.Click += new Action<Control, Point>(buttonToggleBrakeHose_Click);
118+
119+
if (CarPosition > 0)
120+
buttonToggleBrakeHose.Click += new Action<Control, Point>(buttonToggleBrakeHose_Click);
121+
else
122+
buttonToggleBrakeHose.Color = Color.Gray;
123+
80124
buttonToggleAngleCockA.Click += new Action<Control, Point>(buttonToggleAngleCockA_Click);
81125
buttonToggleAngleCockB.Click += new Action<Control, Point>(buttonToggleAngleCockB_Click);
82126
buttonToggleBleedOffValve.Click += new Action<Control, Point>(buttonToggleBleedOffValve_Click);

0 commit comments

Comments
 (0)