File tree 2 files changed +12
-4
lines changed
2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -2268,9 +2268,9 @@ public override void Redo()
2268
2268
{
2269
2269
if ( Receiver ? . Train != null )
2270
2270
{
2271
+ var wagonFilePath = PickedEOTType . ToLower ( ) ;
2271
2272
if ( ToState )
2272
2273
{
2273
- var wagonFilePath = PickedEOTType . ToLower ( ) ;
2274
2274
try
2275
2275
{
2276
2276
EOT eot = ( EOT ) RollingStock . Load ( Receiver . Train . Simulator , Receiver . Train , wagonFilePath ) ;
@@ -2287,8 +2287,14 @@ public override void Redo()
2287
2287
}
2288
2288
else
2289
2289
{
2290
- Receiver . Train . RecalculateRearTDBTraveller ( ) ;
2291
2290
var car = Receiver . Train . Cars [ Receiver . Train . Cars . Count - 1 ] ;
2291
+ if ( wagonFilePath != car . WagFilePath . ToLower ( ) )
2292
+ {
2293
+ car = Receiver . Train . Cars [ 0 ] ;
2294
+ if ( Receiver . Train . LeadLocomotive != null ) Receiver . Train . LeadLocomotiveIndex -- ;
2295
+ }
2296
+ else
2297
+ Receiver . Train . RecalculateRearTDBTraveller ( ) ;
2292
2298
car . Train = null ;
2293
2299
car . IsPartOfActiveTrain = false ; // to stop sounds
2294
2300
Receiver . Train . Cars . Remove ( car ) ;
Original file line number Diff line number Diff line change @@ -103,7 +103,8 @@ void EOTListLabel_Click(Control arg1, Point arg2)
103
103
Viewer . Simulator . Confirmer . Information ( Viewer . Catalog . GetString ( "Can't attach EOT if player train not stopped" ) ) ;
104
104
return ;
105
105
}
106
- if ( PickedEOTTypeFromList . ToLower ( ) != Viewer . PlayerLocomotive . Train . Cars [ Viewer . PlayerLocomotive . Train . Cars . Count - 1 ] . WagFilePath . ToLower ( ) )
106
+ if ( PickedEOTTypeFromList . ToLower ( ) != Viewer . PlayerLocomotive . Train . Cars [ Viewer . PlayerLocomotive . Train . Cars . Count - 1 ] . WagFilePath . ToLower ( ) &&
107
+ PickedEOTTypeFromList . ToLower ( ) != Viewer . PlayerLocomotive . Train . Cars [ 0 ] . WagFilePath . ToLower ( ) )
107
108
{
108
109
if ( Viewer . PlayerLocomotive . Train ? . EOT != null )
109
110
{
@@ -113,7 +114,8 @@ void EOTListLabel_Click(Control arg1, Point arg2)
113
114
//Ask to mount EOT
114
115
new EOTMountCommand ( Viewer . Log , true , PickedEOTTypeFromList ) ;
115
116
}
116
- else if ( PickedEOTTypeFromList . ToLower ( ) == Viewer . PlayerLocomotive . Train . Cars [ Viewer . PlayerLocomotive . Train . Cars . Count - 1 ] . WagFilePath . ToLower ( ) )
117
+ else if ( PickedEOTTypeFromList . ToLower ( ) == Viewer . PlayerLocomotive . Train . Cars [ Viewer . PlayerLocomotive . Train . Cars . Count - 1 ] . WagFilePath . ToLower ( ) ||
118
+ PickedEOTTypeFromList . ToLower ( ) == Viewer . PlayerLocomotive . Train . Cars [ 0 ] . WagFilePath . ToLower ( ) )
117
119
{
118
120
new EOTMountCommand ( Viewer . Log , false , PickedEOTTypeFromList ) ;
119
121
}
You can’t perform that action at this time.
0 commit comments