This commit is contained in:
MihailRis 2025-12-16 00:45:15 +03:00
parent cb142fe3ba
commit 7424ff3ddf
4 changed files with 8 additions and 10 deletions

View file

@ -1,9 +1,10 @@
#include "Inventories.hpp"
#include <algorithm>
#include "world/Level.hpp"
#include "world/World.hpp"
#include "content/Content.hpp"
#include <algorithm>
Inventories::Inventories(Level& level) : level(level) {
}
@ -32,8 +33,9 @@ std::shared_ptr<Inventory> Inventories::createVirtual(size_t size) {
});
}
void Inventories::store(const std::shared_ptr<Inventory>& inv) {
map[inv->getId()] = inv;
void Inventories::store(const std::shared_ptr<Inventory>& inventory) {
inventory->check(*level.content.getIndices());
map[inventory->getId()] = inventory;
}
void Inventories::remove(int64_t id) {

View file

@ -26,7 +26,7 @@ public:
/// @brief Create runtime-only inventory (has negative id)
std::shared_ptr<Inventory> createVirtual(size_t size);
/// @brief Store inventory
/// @brief Check and add inventory to the storage
void store(const std::shared_ptr<Inventory>& inv);
/// @brief Remove inventory from map

View file

@ -88,9 +88,7 @@ Player* Players::create(int64_t id) {
auto player = playerPtr.get();
add(std::move(playerPtr));
auto inventory = player->getInventory();
inventory->check(*level.content.getIndices());
level.inventories->store(std::move(inventory));
level.inventories->store(player->getInventory());
return player;
}
@ -150,7 +148,6 @@ void Players::deserialize(const dv::value& src) {
if (inventory->getId() == 0) {
inventory->setId(level.getWorld()->getNextInventoryId());
}
inventory->check(*level.content.getIndices());
level.inventories->store(inventory);
}
}

View file

@ -124,7 +124,6 @@ std::shared_ptr<Chunk> GlobalChunks::create(int x, int z, bool lighting) {
chunk->flags.loaded = true;
for (auto& entry : chunk->inventories) {
entry.second->check(indices);
level.inventories->store(entry.second);
}
}