Core/Player: converted void storage items to smart pointers

This commit is contained in:
Ovahlord committed 2025-06-13 20:19:56 +02:00
1 parent d2b464b537
commit 1b22d87f91
2 files changed
+6 -12

No files matched your search

+5 -11
View File
@@ -344,8 +344,6 @@ Player::Player(WorldSession* session): Unit(true)
_maxPersonalArenaRate = 0;
_voidStorageItems.fill(nullptr);
_cinematicMgr = std::make_unique<CinematicMgr>(this);
m_achievementMgr = std::make_unique<AchievementMgr<Player>>(this);
m_reputationMgr = std::make_unique<ReputationMgr>(this);
@@ -373,9 +371,6 @@ Player::~Player()
for (size_t x = 0; x < ItemSetEff.size(); x++)
delete ItemSetEff[x];
for (size_t i = 0; i < _voidStorageItems.size(); ++i)
delete _voidStorageItems[i];
for (uint8 i = 0; i < PlayerPetDataStore.size(); i++)
delete PlayerPetDataStore[i];
@@ -17552,7 +17547,7 @@ void Player::_LoadVoidStorage(PreparedQueryResult result)
creatorGuid.Clear();
}
_voidStorageItems[slot] = new VoidStorageItem(itemId, itemEntry, creatorGuid, randomProperty, suffixFactor);
_voidStorageItems[slot] = std::make_unique<VoidStorageItem>(itemId, itemEntry, creatorGuid, randomProperty, suffixFactor);
}
while (result->NextRow());
}
@@ -27063,7 +27058,7 @@ uint8 Player::AddVoidStorageItem(VoidStorageItem const& item)
return 255;
}
_voidStorageItems[slot] = new VoidStorageItem(item.ItemId, item.ItemEntry,
_voidStorageItems[slot] = std::make_unique<VoidStorageItem>(item.ItemId, item.ItemEntry,
item.CreatorGuid, item.ItemRandomPropertyId, item.ItemSuffixFactor);
return slot;
}
@@ -27083,7 +27078,7 @@ void Player::AddVoidStorageItemAtSlot(uint8 slot, const VoidStorageItem& item)
return;
}
_voidStorageItems[slot] = new VoidStorageItem(item.ItemId, item.ItemId,
_voidStorageItems[slot] = std::make_unique<VoidStorageItem>(item.ItemId, item.ItemId,
item.CreatorGuid, item.ItemRandomPropertyId, item.ItemSuffixFactor);
}
@@ -27095,7 +27090,6 @@ void Player::DeleteVoidStorageItem(uint8 slot)
return;
}
delete _voidStorageItems[slot];
_voidStorageItems[slot] = nullptr;
}
@@ -27116,7 +27110,7 @@ VoidStorageItem* Player::GetVoidStorageItem(uint8 slot) const
return nullptr;
}
return _voidStorageItems[slot];
return _voidStorageItems[slot].get();
}
VoidStorageItem* Player::GetVoidStorageItem(uint64 id, uint8& slot) const
@@ -27126,7 +27120,7 @@ VoidStorageItem* Player::GetVoidStorageItem(uint64 id, uint8& slot) const
if (_voidStorageItems[i] && _voidStorageItems[i]->ItemId == id)
{
slot = i;
return _voidStorageItems[i];
return _voidStorageItems[i].get();
}
}
+1 -1
View File
@@ -2583,7 +2583,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
/// Updates weekly conquest point cap (dynamic cap)
void UpdateConquestCurrencyCap(uint32 currency);
std::array<VoidStorageItem*, VOID_STORAGE_MAX_SLOT> _voidStorageItems;
std::array<std::unique_ptr<VoidStorageItem>, VOID_STORAGE_MAX_SLOT> _voidStorageItems;
std::vector<Item*> m_itemUpdateQueue;
bool m_itemUpdateQueueBlocked;