#ifndef FILES_ENGINE_PATHS_H_ #define FILES_ENGINE_PATHS_H_ #include #include #include #include "../content/ContentPack.h" namespace fs = std::filesystem; class EnginePaths { fs::path userfiles {"."}; fs::path resources {"res"}; fs::path worldFolder; std::vector* contentPacks = nullptr; public: fs::path getUserfiles() const; fs::path getResources() const; fs::path getScreenshotFile(std::string ext); fs::path getWorldsFolder(); fs::path getWorldFolder(); bool isWorldNameUsed(std::string name); void setUserfiles(fs::path folder); void setResources(fs::path folder); void setContentPacks(std::vector* contentPacks); void setWorldFolder(fs::path folder); std::vector scanForWorlds(); fs::path resolve(std::string path); }; class ResPaths { fs::path mainRoot; std::vector roots; public: ResPaths(fs::path mainRoot, std::vector roots); fs::path find(const std::string& filename) const; std::vector listdir(const std::string& folder) const; }; #endif // FILES_ENGINE_PATHS_H_