@@ -8,11 +8,11 @@
|
||||
|
||||
#include "ConsoleSaveFileIO.h"
|
||||
|
||||
SavedDataStorage::SavedDataStorage(LevelStorage *levelStorage)
|
||||
SavedDataStorage::SavedDataStorage(LevelStorage *levelStorage)
|
||||
{
|
||||
/*
|
||||
cache = new unordered_map<wstring, std::shared_ptr<SavedData> >;
|
||||
savedDatas = new vector<std::shared_ptr<SavedData> >;
|
||||
cache = new unordered_map<wstring, shared_ptr<SavedData> >;
|
||||
savedDatas = new vector<shared_ptr<SavedData> >;
|
||||
usedAuxIds = new unordered_map<wstring, short*>;
|
||||
*/
|
||||
|
||||
@@ -20,28 +20,28 @@ SavedDataStorage::SavedDataStorage(LevelStorage *levelStorage)
|
||||
loadAuxValues();
|
||||
}
|
||||
|
||||
std::shared_ptr<SavedData> SavedDataStorage::get(const type_info& clazz, const wstring& id)
|
||||
shared_ptr<SavedData> SavedDataStorage::get(const type_info& clazz, const wstring& id)
|
||||
{
|
||||
AUTO_VAR(it, cache.find( id ));
|
||||
if (it != cache.end()) return (*it).second;
|
||||
|
||||
std::shared_ptr<SavedData> data = nullptr;
|
||||
shared_ptr<SavedData> data = nullptr;
|
||||
if (levelStorage != NULL)
|
||||
{
|
||||
//File file = levelStorage->getDataFile(id);
|
||||
ConsoleSavePath file = levelStorage->getDataFile(id);
|
||||
if (!file.getName().empty() && levelStorage->getSaveFile()->doesFileExist( file ) )
|
||||
if (!file.getName().empty() && levelStorage->getSaveFile()->doesFileExist( file ) )
|
||||
{
|
||||
// mob = dynamic_pointer_cast<Mob>(Mob::_class->newInstance( level ));
|
||||
//data = clazz.getConstructor(String.class).newInstance(id);
|
||||
|
||||
if( clazz == typeid(MapItemSavedData) )
|
||||
{
|
||||
data = dynamic_pointer_cast<SavedData>( std::shared_ptr<MapItemSavedData>(new MapItemSavedData(id)) );
|
||||
data = dynamic_pointer_cast<SavedData>( shared_ptr<MapItemSavedData>(new MapItemSavedData(id)) );
|
||||
}
|
||||
else if( clazz == typeid(Villages) )
|
||||
{
|
||||
data = dynamic_pointer_cast<SavedData>( std::shared_ptr<Villages>(new Villages(id) ) );
|
||||
data = dynamic_pointer_cast<SavedData>( shared_ptr<Villages>(new Villages(id) ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -59,13 +59,13 @@ std::shared_ptr<SavedData> SavedDataStorage::get(const type_info& clazz, const w
|
||||
|
||||
if (data != NULL)
|
||||
{
|
||||
cache.insert( unordered_map<wstring, std::shared_ptr<SavedData> >::value_type( id , data ) );
|
||||
cache.insert( unordered_map<wstring, shared_ptr<SavedData> >::value_type( id , data ) );
|
||||
savedDatas.push_back(data);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
void SavedDataStorage::set(const wstring& id, std::shared_ptr<SavedData> data)
|
||||
void SavedDataStorage::set(const wstring& id, shared_ptr<SavedData> data)
|
||||
{
|
||||
if (data == NULL)
|
||||
{
|
||||
@@ -91,7 +91,7 @@ void SavedDataStorage::save()
|
||||
AUTO_VAR(itEnd, savedDatas.end());
|
||||
for (AUTO_VAR(it, savedDatas.begin()); it != itEnd; it++)
|
||||
{
|
||||
std::shared_ptr<SavedData> data = *it; //savedDatas->at(i);
|
||||
shared_ptr<SavedData> data = *it; //savedDatas->at(i);
|
||||
if (data->isDirty())
|
||||
{
|
||||
save(data);
|
||||
@@ -100,7 +100,7 @@ void SavedDataStorage::save()
|
||||
}
|
||||
}
|
||||
|
||||
void SavedDataStorage::save(std::shared_ptr<SavedData> data)
|
||||
void SavedDataStorage::save(shared_ptr<SavedData> data)
|
||||
{
|
||||
if (levelStorage == NULL) return;
|
||||
//File file = levelStorage->getDataFile(data->id);
|
||||
|
||||
Reference in New Issue
Block a user