From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/DirectoryLevelStorageSource.h | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Minecraft.World/DirectoryLevelStorageSource.h (limited to 'Minecraft.World/DirectoryLevelStorageSource.h') diff --git a/Minecraft.World/DirectoryLevelStorageSource.h b/Minecraft.World/DirectoryLevelStorageSource.h new file mode 100644 index 00000000..9f6069ab --- /dev/null +++ b/Minecraft.World/DirectoryLevelStorageSource.h @@ -0,0 +1,34 @@ +#pragma once +using namespace std; + +#include "LevelStorageSource.h" +#include "File.h" + +class ProgressListener; +class LevelData; +class ConsoleSaveFile; + +class DirectoryLevelStorageSource : public LevelStorageSource +{ +protected: + const File baseDir; + +public: + DirectoryLevelStorageSource(const File dir); + virtual wstring getName(); + virtual vector *getLevelList(); + virtual void clearAll(); + virtual LevelData *getDataTagFor(ConsoleSaveFile *saveFile, const wstring& levelId); + virtual void renameLevel(const wstring& levelId, const wstring& newLevelName); + virtual bool isNewLevelIdAcceptable(const wstring& levelId); + virtual void deleteLevel(const wstring& levelId); + +protected: + static void deleteRecursive(vector *files); + +public: + virtual shared_ptr selectLevel(ConsoleSaveFile *saveFile, const wstring& levelId, bool createPlayerDir); + virtual bool isConvertible(ConsoleSaveFile *saveFile, const wstring& levelId); + virtual bool requiresConversion(ConsoleSaveFile *saveFile, const wstring& levelId); + virtual bool convertLevel(ConsoleSaveFile *saveFile, const wstring& levelId, ProgressListener *progress); +}; \ No newline at end of file -- cgit v1.2.3