the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 37 lines 1.4 kB view raw
1#pragma once 2using namespace std; 3 4#include "stdafx.h" 5 6class LevelSummary; 7class ProgressListener; 8class LevelData; 9class LevelStorage; 10class ConsoleSaveFile; 11 12class LevelStorageSource 13{ 14public: 15 virtual wstring getName() = 0; 16 virtual shared_ptr<LevelStorage> selectLevel(ConsoleSaveFile *saveFile, const wstring& levelId, bool createPlayerDir) = 0; 17 virtual vector<LevelSummary *> *getLevelList() = 0; 18 virtual void clearAll() = 0; 19 virtual LevelData *getDataTagFor(ConsoleSaveFile *saveFile, const wstring& levelId) = 0; 20 21 /** 22 * Tests if a levelId can be used to store a level. For example, a levelId 23 * can't be called COM1 on Windows systems, because that is a reserved file 24 * handle. 25 * <p> 26 * Also, a new levelId may not overwrite an existing one. 27 * 28 * @param levelId 29 * @return 30 */ 31 virtual bool isNewLevelIdAcceptable(const wstring& levelId) = 0; 32 virtual void deleteLevel(const wstring& levelId) = 0; 33 virtual void renameLevel(const wstring& levelId, const wstring& newLevelName) = 0; 34 virtual bool isConvertible(ConsoleSaveFile *saveFile, const wstring& levelId) = 0; 35 virtual bool requiresConversion(ConsoleSaveFile *saveFile, const wstring& levelId) = 0; 36 virtual bool convertLevel(ConsoleSaveFile *saveFile, const wstring &levelId, ProgressListener *progress) = 0; 37};