Fix: client completed_passengers calculation error

This commit is contained in:
Xuwznln
2025-10-12 02:14:18 +08:00
parent 1031e677e1
commit 0157496e6f
2 changed files with 3 additions and 1 deletions

View File

@@ -162,12 +162,13 @@ class PassengerInfo(SerializableModel):
arrive_tick: int
pickup_tick: int = 0
dropoff_tick: int = 0
arrived: bool = False
elevator_id: Optional[int] = None
@property
def status(self) -> PassengerStatus:
"""乘客状态"""
if self.dropoff_tick > 0:
if self.arrived:
return PassengerStatus.COMPLETED
elif self.pickup_tick > 0:
return PassengerStatus.IN_ELEVATOR

View File

@@ -457,6 +457,7 @@ class ElevatorSimulation:
passenger = self.passengers[passenger_id]
if passenger.destination == current_floor:
passenger.dropoff_tick = self.tick
passenger.arrived = True
passengers_to_remove.append(passenger_id)
# Remove passengers who alighted