@@ -173,40 +173,29 @@ public bool Boarding(int paxCurrent, int cargoCurrent)
173173
174174 private void BoardPassengers ( int num )
175175 {
176- if ( num <= 0 )
176+ if ( num < 0 )
177177 {
178- Logger . Log ( LogLevel . Warning , "FenixContoller:BoardPassengers" , $ "Passenger Num was below 0!") ;
178+ Logger . Log ( LogLevel . Debug , "FenixContoller:BoardPassengers" , $ "Passenger Num was below 0!") ;
179179 return ;
180180 }
181181
182- //if (onboard)
183- //{
184- for ( int i = paxLast ; i < paxLast + num && i < GetPaxPlanned ( ) ; i ++ )
185- {
186- paxCurrent [ paxSeats [ i ] ] = true ;
187- }
188- //}
189- //else
190- //{
191- // int n = GetPaxPlanned() - paxLast;
192- // Logger.Log(LogLevel.Debug, "FenixContoller:ChangePassengers", $"(n {n})");
193- // for (int i = n; i < n + num; i++)
194- // {
195- // Logger.Log(LogLevel.Debug, "FenixContoller:ChangePassengers", $"(i {i}) (seatslen {paxSeats.Length}) (curlen {paxCurrent.Length}) (num {num}) (paxlast {paxLast}) (planned {GetPaxPlanned()})");
196- // if (i < paxSeats.Length && paxSeats[i] < paxCurrent.Length)
197- // paxCurrent[paxSeats[i]] = onboard;
198- // else
199- // Logger.Log(LogLevel.Debug, "FenixContoller:ChangePassengers", $"invalid index (i {i}) (seatslen {paxSeats.Length}) (curlen {paxCurrent.Length}) (num {num}) (paxlast {paxLast}) (planned {GetPaxPlanned()})");
200- // }
201- //}
202-
203- SendSeatString ( ) ;
182+ for ( int i = paxLast ; i < paxLast + num && i < GetPaxPlanned ( ) ; i ++ )
183+ {
184+ paxCurrent [ paxSeats [ i ] ] = true ;
185+ }
186+
187+ if ( num > 0 )
188+ SendSeatString ( ) ;
204189 }
205190
206- private void SendSeatString ( )
191+ private void SendSeatString ( bool force = false )
207192 {
208193 string seatString = "" ;
209194 bool first = true ;
195+
196+ if ( GetPaxCurrent ( ) == 0 && ! force )
197+ return ;
198+
210199 foreach ( var pax in paxCurrent )
211200 {
212201 if ( first )
@@ -248,43 +237,40 @@ public void BoardingStop()
248237
249238 public void DeboardingStart ( )
250239 {
240+ Logger . Log ( LogLevel . Debug , "FenixContoller:DeboardingStart" , $ "(planned { GetPaxPlanned ( ) } ) (current { GetPaxCurrent ( ) } )") ;
251241 paxLast = GetPaxPlanned ( ) ;
252- cargoLast = 100 ;
253- paxSeats = new int [ paxLast ] ;
254- int n = 0 ;
255- for ( int i = 0 ; i < paxPlanned . Length ; i ++ )
256- {
257- if ( paxPlanned [ i ] )
258- {
259- paxSeats [ n ] = i ;
260- n ++ ;
261- }
262- }
242+ if ( GetPaxCurrent ( ) != GetPaxPlanned ( ) )
243+ paxCurrent = paxPlanned ;
244+ cargoLast = 100 ;
263245 }
264246
265247 private void DeboardPassengers ( int num )
266248 {
267- if ( num <= 0 )
249+ if ( num < 0 )
268250 {
269- Logger . Log ( LogLevel . Warning , "FenixContoller:DeboardPassengers" , $ "Passenger Num was below 0!") ;
251+ Logger . Log ( LogLevel . Debug , "FenixContoller:DeboardPassengers" , $ "Passenger Num was below 0!") ;
270252 return ;
271253 }
254+ else if ( num > 15 )
255+ {
256+ Logger . Log ( LogLevel . Debug , "FenixContoller:DeboardPassengers" , $ "Passenger Num was above 15!") ;
257+ return ;
258+ }
259+ else
260+ Logger . Log ( LogLevel . Debug , "FenixContoller:DeboardPassengers" , $ "(num { num } ) (current { GetPaxCurrent ( ) } ) (planned ({ GetPaxPlanned ( ) } ))") ;
272261
273262 int n = 0 ;
274- while ( n < num )
263+ for ( int i = 0 ; i < paxCurrent . Length && n < num ; i ++ )
275264 {
276- for ( int i = 0 ; i < paxCurrent . Length ; i ++ )
265+ if ( paxCurrent [ i ] )
277266 {
278- if ( paxCurrent [ i ] )
279- {
280- paxCurrent [ i ] = false ;
281- break ;
282- }
267+ paxCurrent [ i ] = false ;
268+ n ++ ;
283269 }
284- n ++ ;
285270 }
286271
287- SendSeatString ( ) ;
272+ if ( n > 0 )
273+ SendSeatString ( ) ;
288274 }
289275
290276 public bool Deboarding ( int paxCurrent , int cargoCurrent )
@@ -304,7 +290,9 @@ public void DeboardingStop()
304290 ChangeCargo ( 0 ) ;
305291 for ( int i = 0 ; i < paxCurrent . Length ; i ++ )
306292 paxCurrent [ i ] = false ;
307- SendSeatString ( ) ;
293+ Logger . Log ( LogLevel . Debug , "FenixController:DeboardingStop" , "Sending SeatString" ) ;
294+ SendSeatString ( true ) ;
295+ paxCurrent = new bool [ 162 ] ;
308296 paxSeats = null ;
309297 }
310298 }
0 commit comments