mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 16:13:51 +00:00
38 lines
1.3 KiB
C++
38 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "DirectoryLevelStorageSource.h"
|
|
#include "../../IO/Files/FileFilter.h"
|
|
#include "../../IO/Files/FilenameFilter.h"
|
|
|
|
class ProgressListener;
|
|
class LevelStorage;
|
|
|
|
class McRegionLevelStorageSource : public DirectoryLevelStorageSource {
|
|
public:
|
|
class ChunkFile;
|
|
|
|
McRegionLevelStorageSource(File dir);
|
|
virtual std::wstring getName();
|
|
virtual std::vector<LevelSummary*>* getLevelList();
|
|
virtual void clearAll();
|
|
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);
|
|
|
|
private:
|
|
void convertRegions(File& baseFolder, std::vector<ChunkFile*>* chunkFiles,
|
|
int currentCount, int totalCount,
|
|
ProgressListener* progress);
|
|
void eraseFolders(std::vector<File*>* folders, int currentCount,
|
|
int totalCount, ProgressListener* progress);
|
|
|
|
public:
|
|
};
|