diff options
Diffstat (limited to 'src/server/game/Entities')
| -rwxr-xr-x | src/server/game/Entities/Vehicle/Vehicle.cpp | 22 | ||||
| -rw-r--r-- | src/server/game/Entities/Vehicle/Vehicle.h | 6 |
2 files changed, 24 insertions, 4 deletions
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index f3844d96069..bfffc84671f 100755 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -576,6 +576,26 @@ void Vehicle::Dismiss() } /** + * @fn bool Vehicle::IsVehicleInUse() const + * + * @brief Returns information whether the vehicle is currently used by any unit + * + * @author Shauren + * @date 26-2-2013 + * + * @return true if any passenger is boarded on vehicle, false otherwise. + */ + +bool Vehicle::IsVehicleInUse() const +{ + for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr) + if (itr->second.Passenger) + return true; + + return false; +} + +/** * @fn void Vehicle::InitMovementInfoForBase() * * @brief Sets correct MovementFlags2 based on VehicleFlags from DBC. @@ -613,7 +633,7 @@ void Vehicle::InitMovementInfoForBase() * @return null if passenger not found on vehicle, else the DBC record for the seat. */ -VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit* passenger) +VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit const* passenger) { SeatMap::iterator itr; for (itr = Seats.begin(); itr != Seats.end(); ++itr) diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h index 8b67b82cfa3..f9bf3c21ef4 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.h +++ b/src/server/game/Entities/Vehicle/Vehicle.h @@ -63,14 +63,14 @@ class Vehicle : public TransportBase void RelocatePassengers(); void RemoveAllPassengers(); void Dismiss(); - bool IsVehicleInUse() { return Seats.begin() != Seats.end(); } + bool IsVehicleInUse() const; void SetLastShootPos(Position const& pos) { _lastShootPos.Relocate(pos); } - Position GetLastShootPos() { return _lastShootPos; } + Position const& GetLastShootPos() const { return _lastShootPos; } SeatMap Seats; ///< The collection of all seats on the vehicle. Including vacant ones. - VehicleSeatEntry const* GetSeatForPassenger(Unit* passenger); + VehicleSeatEntry const* GetSeatForPassenger(Unit const* passenger); protected: friend class VehicleJoinEvent; |
