mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-25 12:33:42 +00:00
34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
#pragma once
|
|
|
|
|
|
#include "LevelStorageSource.h"
|
|
#include "../../IO/Files/File.h"
|
|
|
|
class ProgressListener;
|
|
class LevelData;
|
|
class ConsoleSaveFile;
|
|
|
|
class DirectoryLevelStorageSource : public LevelStorageSource
|
|
{
|
|
protected:
|
|
const File baseDir;
|
|
|
|
public:
|
|
DirectoryLevelStorageSource(const File dir);
|
|
virtual std::wstring getName();
|
|
virtual std::vector<LevelSummary *> *getLevelList();
|
|
virtual void clearAll();
|
|
virtual LevelData *getDataTagFor(ConsoleSaveFile *saveFile, const std::wstring& levelId);
|
|
virtual void renameLevel(const std::wstring& levelId, const std::wstring& newLevelName);
|
|
virtual bool isNewLevelIdAcceptable(const std::wstring& levelId);
|
|
virtual void deleteLevel(const std::wstring& levelId);
|
|
|
|
protected:
|
|
static void deleteRecursive(std::vector<File *> *files);
|
|
|
|
public:
|
|
virtual std::shared_ptr<LevelStorage> selectLevel(ConsoleSaveFile *saveFile, const std::wstring& levelId, bool createPlayerDir);
|
|
virtual bool isConvertible(ConsoleSaveFile *saveFile, const std::wstring& levelId);
|
|
virtual bool requiresConversion(ConsoleSaveFile *saveFile, const std::wstring& levelId);
|
|
virtual bool convertLevel(ConsoleSaveFile *saveFile, const std::wstring& levelId, ProgressListener *progress);
|
|
}; |