#pragma once class ConsoleSaveFile; #include "SavedData.h" class SavedDataStorage { private: LevelStorage* levelStorage; typedef std::unordered_map > cacheMapType; cacheMapType cache; std::vector > savedDatas; typedef std::unordered_map uaiMapType; uaiMapType usedAuxIds; public: SavedDataStorage(LevelStorage*); std::shared_ptr get(const std::type_info& clazz, const std::wstring& id); void set(const std::wstring& id, std::shared_ptr data); void save(); private: void save(std::shared_ptr data); void loadAuxValues(); public: int getFreeAuxValueFor(const std::wstring& id); // 4J Added int getAuxValueForMap(PlayerUID xuid, int dimension, int centreXC, int centreZC, int scale); };