Skip to content

Commit f80d757

Browse files
committed
Fix AngleCocks no working with vacuum-single-pipe.
1 parent 0f744b3 commit f80d757

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

Source/RunActivity/Viewer3D/Popups/TrainCarOperationsViewerWindow.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -866,12 +866,14 @@ public buttonFrontAngleCock(int x, int y, int size, Viewer viewer, TrainCar car,
866866
TrainCarViewer = Viewer.TrainCarOperationsViewerWindow;
867867
CarPosition = carPosition;
868868
First = car == Viewer.PlayerTrain.Cars.First();
869+
869870
var carAngleCockAOpenAmount = Viewer.PlayerTrain.Cars[CarPosition].BrakeSystem.AngleCockAOpenAmount;
871+
var carAngleCockAOpen = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockAOpen;
872+
Texture = !TrainCarViewer.TrainCarOperationsChanged && First ? FrontAngleCockClosed
873+
: carAngleCockAOpenAmount > 0 && carAngleCockAOpenAmount < 1? FrontAngleCockPartial
874+
: carAngleCockAOpen ? FrontAngleCockOpened
875+
: FrontAngleCockClosed;
870876

871-
Texture = First ? FrontAngleCockClosed
872-
: carAngleCockAOpenAmount >= 1 ? FrontAngleCockOpened
873-
: carAngleCockAOpenAmount <= 0 ? FrontAngleCockClosed
874-
: FrontAngleCockPartial;
875877
Source = new Rectangle(0, 0, size, size);
876878
Click += new Action<Control, Point>(buttonFrontAngleCock_Click);
877879
}
@@ -909,12 +911,13 @@ public buttonRearAngleCock(int x, int y, int size, Viewer viewer, TrainCar car,
909911
TrainCarViewer = Viewer.TrainCarOperationsViewerWindow;
910912
CarPosition = carPosition;
911913
Last = car == Viewer.PlayerTrain.Cars.Last();
912-
var carAngleCockBOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpenAmount;
913914

915+
var carAngleCockBOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpenAmount;
916+
var carAngleCockBOpen = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpen;
914917
Texture = Last ? RearAngleCockClosed
915-
: carAngleCockBOpenAmount >= 1 ? RearAngleCockOpened
916-
: carAngleCockBOpenAmount <= 0 ? RearAngleCockClosed
917-
: RearAngleCockPartial;
918+
: carAngleCockBOpenAmount > 0 && carAngleCockBOpenAmount < 1 ? RearAngleCockPartial
919+
: carAngleCockBOpen ? RearAngleCockOpened
920+
: RearAngleCockClosed;
918921

919922
Source = new Rectangle(0, 0, size, size);
920923

Source/RunActivity/Viewer3D/Popups/TrainCarOperationsWindow.cs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -932,13 +932,13 @@ class buttonRearBrakeHose : Image
932932
{
933933
readonly Viewer Viewer;
934934
readonly TrainCarOperationsViewerWindow TrainCarViewer;
935-
readonly bool Last;
935+
936936
public buttonRearBrakeHose(int x, int y, int size, Viewer viewer, TrainCar car, int carPosition)
937937
: base(x, y, size, size)
938938
{
939939
Viewer = viewer;
940940
TrainCarViewer = Viewer.TrainCarOperationsViewerWindow;
941-
Last = car == viewer.PlayerTrain.Cars.Last();
941+
var Last = car == viewer.PlayerTrain.Cars.Last();
942942
Texture = Last ? BrakeHoseLastDis : (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.RearBrakeHoseConnected ? BrakeHoseCon : BrakeHoseDis;
943943

944944
// Update from viewer
@@ -961,20 +961,19 @@ class buttonFrontAngleCock : Image
961961
{
962962
readonly Viewer Viewer;
963963
readonly TrainCarOperationsViewerWindow TrainCarViewer;
964-
readonly bool First;
965-
readonly float carAngleCockAOpenAmount;
966964
public buttonFrontAngleCock(int x, int y, int size, Viewer viewer, TrainCar car, int carPosition)
967965
: base(x, y, size, size)
968966
{
969967
Viewer = viewer;
970968
TrainCarViewer = Viewer.TrainCarOperationsViewerWindow;
971-
First = car == viewer.PlayerTrain.Cars.First();
969+
var First = car == viewer.PlayerTrain.Cars.First();
972970

973-
carAngleCockAOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockAOpenAmount;
971+
var carAngleCockAOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockAOpenAmount;
972+
var carAngleCockAOpen = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockAOpen;
974973
Texture = !TrainCarViewer.TrainCarOperationsChanged && First ? FrontAngleCockClosed
975-
: carAngleCockAOpenAmount >= 1 ? FrontAngleCockOpened
976-
: carAngleCockAOpenAmount <= 0 ? FrontAngleCockClosed
977-
: FrontAngleCockPartial;
974+
: carAngleCockAOpenAmount > 0 && carAngleCockAOpenAmount < 1 ? FrontAngleCockPartial
975+
: carAngleCockAOpen ? FrontAngleCockOpened
976+
: FrontAngleCockClosed;
978977

979978
Source = new Rectangle(0, 0, size, size);
980979

@@ -989,19 +988,18 @@ public buttonFrontAngleCock(int x, int y, int size, Viewer viewer, TrainCar car,
989988
class buttonRearAngleCock : Image
990989
{
991990
readonly Viewer Viewer;
992-
readonly bool Last;
993-
readonly float carAngleCockBOpenAmount;
994991
public buttonRearAngleCock(int x, int y, int size, Viewer viewer, TrainCar car, int carPosition)
995992
: base(x, y, size, size)
996993
{
997994
Viewer = viewer;
998-
Last = car == viewer.PlayerTrain.Cars.Last();
995+
var Last = car == viewer.PlayerTrain.Cars.Last();
999996

1000-
carAngleCockBOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpenAmount;
997+
var carAngleCockBOpenAmount = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpenAmount;
998+
var carAngleCockBOpen = (viewer.PlayerTrain.Cars[carPosition] as MSTSWagon).BrakeSystem.AngleCockBOpen;
1001999
Texture = Last ? RearAngleCockClosed
1002-
: carAngleCockBOpenAmount >= 1 ? RearAngleCockOpened
1003-
: carAngleCockBOpenAmount <= 0 ? RearAngleCockClosed
1004-
: RearAngleCockPartial;
1000+
: carAngleCockBOpenAmount > 0 && carAngleCockBOpenAmount < 1 ? RearAngleCockPartial
1001+
: carAngleCockBOpen ? RearAngleCockOpened
1002+
: RearAngleCockClosed;
10051003

10061004
Source = new Rectangle(0, 0, size, size);
10071005

0 commit comments

Comments
 (0)