(svn r9808) -Codechange: unify the Handle<VehicleType>Loading functions.

This commit is contained in:
rubidium
2007-05-07 16:21:34 +00:00
parent 161786e222
commit 2efecd34c4
6 changed files with 45 additions and 109 deletions

View File

@@ -2929,6 +2929,40 @@ void Vehicle::LeaveStation()
}
void Vehicle::HandleLoading(bool mode)
{
switch (this->current_order.type) {
case OT_LOADING: {
/* Not the first call for this tick */
if (mode) return;
/* We have not waited enough time till the next round of loading/unloading */
if (--this->load_unload_time_rem) return;
/* Load/unload the vehicle; when it actually did something
* we do not leave the station. */
if (LoadUnloadVehicle(this)) return;
this->PlayLeaveStationSound();
Order b = this->current_order;
this->LeaveStation();
/* If this was not the final order, don't remove it from the list. */
if (!(b.flags & OF_NON_STOP)) return;
break;
}
case OT_DUMMY: break;
default: return;
}
this->cur_order_index++;
InvalidateVehicleOrder(this);
}
void SpecialVehicle::UpdateDeltaXY(Direction direction)
{
this->x_offs = 0;