Skip to content

Commit f5d692a

Browse files
Added brake hose control
1 parent 4bf28ff commit f5d692a

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

Source/ORTS.Common/Input/UserCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public enum UserCommand
143143
[GetString("Control Odometer Direction")] [GetParticularString("SwitchPanel", "")] ControlOdoMeterDirection,
144144
[GetString("Control Retainers On")] [GetParticularString("SwitchPanel", "")] ControlRetainersOn,
145145
[GetString("Control Retainers Off")] [GetParticularString("SwitchPanel", "")] ControlRetainersOff,
146-
[GetString("Control Brake Hose Connect")] [GetParticularString("SwitchPanel", "")] ControlBrakeHoseConnect,
146+
[GetString("Control Brake Hose Connect")] [GetParticularString("SwitchPanel", "Brake hose")] ControlBrakeHoseConnect,
147147
[GetString("Control Brake Hose Disconnect")] [GetParticularString("SwitchPanel", "")] ControlBrakeHoseDisconnect,
148148
[GetString("Control Alerter")] [GetParticularString("SwitchPanel", "Alerter")] ControlAlerter,
149149
[GetString("Control Emergency Push Button")] [GetParticularString("SwitchPanel", "Emergency")] ControlEmergencyPushButton,

Source/RunActivity/Viewer3D/WebServices/SwitchPanel/SwitchOnPanelDefinition.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ public void init(UserCommand userCommand)
119119
init0(ORTS.Common.Input.UserCommand.ControlHandbrakeFull);
120120
break;
121121

122+
case ORTS.Common.Input.UserCommand.ControlBrakeHoseConnect:
123+
init2(ORTS.Common.Input.UserCommand.ControlBrakeHoseConnect, ORTS.Common.Input.UserCommand.ControlBrakeHoseDisconnect);
124+
break;
125+
122126
default:
123127
init1(userCommand);
124128
break;

Source/RunActivity/Viewer3D/WebServices/SwitchPanel/SwitchOnPanelStatus.cs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,6 @@ private static void getStatusHandbrake(ref SwitchOnPanelStatus switchOnPanelStat
383383
}
384384
}
385385

386-
switchOnPanelStatus.Color = "";
387386
if ((handBrakeOn > 0) && (handBrakeCount != handBrakeOn))
388387
{
389388
switchOnPanelStatus.Status = Viewer.Catalog.GetString("On") + "/" + Viewer.Catalog.GetString("Off");
@@ -405,6 +404,32 @@ private static void getStatusHandbrake(ref SwitchOnPanelStatus switchOnPanelStat
405404
}
406405
}
407406

407+
private static void getStatusBrakehose(ref SwitchOnPanelStatus switchOnPanelStatus)
408+
{
409+
Train train = Viewer.PlayerLocomotive.Train;
410+
int brakeHoseConnectedCount = 0;
411+
int angleCockAOpenCount = 0;
412+
int angleCockBOpenCount = 0;
413+
414+
for (int i = 0; i < train.Cars.Count; i++)
415+
{
416+
TrainCar car = train.Cars[i];
417+
if ((train.Cars[i].BrakeSystem.FrontBrakeHoseConnected) && (i > 0))
418+
brakeHoseConnectedCount++;
419+
if ((train.Cars[i].BrakeSystem.AngleCockAOpen) && (i > 0))
420+
angleCockAOpenCount++;
421+
if ((train.Cars[i].BrakeSystem.AngleCockBOpen) && (i < (train.Cars.Count - 1)))
422+
angleCockBOpenCount++;
423+
}
424+
425+
if ((brakeHoseConnectedCount == (train.Cars.Count - 1)) &&
426+
(angleCockAOpenCount == (train.Cars.Count - 1)) &&
427+
(angleCockBOpenCount == (train.Cars.Count - 1))) {
428+
switchOnPanelStatus.Status = Viewer.Catalog.GetString("Connected");
429+
switchOnPanelStatus.Color = "lightgreen";
430+
}
431+
}
432+
408433
public static void getStatus(UserCommand userCommand, ref SwitchOnPanelStatus switchOnPanelStatus)
409434
{
410435
switchOnPanelStatus.Status = "";
@@ -470,6 +495,9 @@ public static void getStatus(UserCommand userCommand, ref SwitchOnPanelStatus sw
470495
case UserCommand.ControlHandbrakeFull:
471496
getStatusHandbrake(ref switchOnPanelStatus);
472497
break;
498+
case UserCommand.ControlBrakeHoseConnect:
499+
getStatusBrakehose(ref switchOnPanelStatus);
500+
break;
473501
}
474502
}
475503

Source/RunActivity/Viewer3D/WebServices/SwitchPanel/SwitchesOnPanel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public void setDefinitions(SwitchOnPanel[,] SwitchesOnPanelArray)
7676
SwitchesOnPanelArray[1, 4].initDefinition(UserCommand.ControlCircuitBreakerClosingOrder);
7777
SwitchesOnPanelArray[1, 5].initDefinition(UserCommand.ControlHeadlightIncrease);
7878
SwitchesOnPanelArray[1, 6].initDefinition(UserCommand.ControlHandbrakeFull);
79+
SwitchesOnPanelArray[1, 7].initDefinition(UserCommand.ControlBrakeHoseConnect);
7980
break;
8081

8182
case TrainCar.EngineTypes.Diesel:
@@ -96,6 +97,7 @@ public void setDefinitions(SwitchOnPanel[,] SwitchesOnPanelArray)
9697
SwitchesOnPanelArray[1, 4].initDefinition(UserCommand.ControlTractionCutOffRelayClosingOrder);
9798
SwitchesOnPanelArray[1, 5].initDefinition(UserCommand.ControlHeadlightIncrease);
9899
SwitchesOnPanelArray[1, 6].initDefinition(UserCommand.ControlHandbrakeFull);
100+
SwitchesOnPanelArray[1, 7].initDefinition(UserCommand.ControlBrakeHoseConnect);
99101
break;
100102

101103
case TrainCar.EngineTypes.Steam:

0 commit comments

Comments
 (0)