aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
committerShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
commit4779fa5048642b57a0f69de7ab56b9d563c1cbc4 (patch)
tree9bd8f8daccb5d3e7f8e98c3556db8f3c9b204460 /src/server/game/Entities/Unit
parent18200e1b88596dbead10d0b8ecbd10557db43323 (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.cpp6
-rw-r--r--src/server/game/Entities/Unit/Unit.h3
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;