diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-03-13 18:51:29 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-03-13 18:51:29 +0100 |
| commit | 4779fa5048642b57a0f69de7ab56b9d563c1cbc4 (patch) | |
| tree | 9bd8f8daccb5d3e7f8e98c3556db8f3c9b204460 /src/server/game/Entities/Unit | |
| parent | 18200e1b88596dbead10d0b8ecbd10557db43323 (diff) | |
Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index bfdb97d3afb..9e56adcebb1 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4274,8 +4274,8 @@ void Unit::RemoveAllAuras() { sstr << "m_ownedAuras:" << "\n"; - for (std::pair<uint32 const, Aura*>& auraPair : m_ownedAuras) - sstr << auraPair.second->GetDebugInfo() << "\n"; + for (auto const& [spellId, aura] : m_ownedAuras) + sstr << aura->GetDebugInfo() << "\n"; } TC_LOG_ERROR("entities.unit", "{}", sstr.str()); @@ -11446,7 +11446,7 @@ bool Unit::CreateVehicleKit(uint32 id, uint32 creatureEntry, bool loading /*= fa if (!vehInfo) return false; - m_vehicleKit = std::make_unique<Vehicle>(this, vehInfo, creatureEntry); + m_vehicleKit = Trinity::make_unique_trackable<Vehicle>(this, vehInfo, creatureEntry); m_updateFlag.Vehicle = true; m_unitTypeMask |= UNIT_MASK_VEHICLE; diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index f5a0c91f780..abcf9c295b5 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1709,6 +1709,7 @@ class TC_GAME_API Unit : public WorldObject bool CreateVehicleKit(uint32 id, uint32 creatureEntry, bool loading = false); void RemoveVehicleKit(bool onRemoveFromWorld = false); Vehicle* GetVehicleKit() const { return m_vehicleKit.get(); } + Trinity::unique_weak_ptr<Vehicle> GetVehicleKitWeakPtr() const { return m_vehicleKit; } Vehicle* GetVehicle() const { return m_vehicle; } void SetVehicle(Vehicle* vehicle) { m_vehicle = vehicle; } bool IsOnVehicle(Unit const* vehicle) const; @@ -1907,7 +1908,7 @@ class TC_GAME_API Unit : public WorldObject uint32 m_regenTimer; Vehicle* m_vehicle; - std::unique_ptr<Vehicle> m_vehicleKit; + Trinity::unique_trackable_ptr<Vehicle> m_vehicleKit; uint32 m_unitTypeMask; LiquidTypeEntry const* _lastLiquid; |
