Nameless Engine
Loading...
Searching...
No Matches
ProjectPaths.h
1#pragma once
2
3// Standard.
4#include <filesystem>
5
6namespace ne {
8 enum class ResourceDirectory {
9 ROOT,
10 GAME,
11 ENGINE,
12 EDITOR
13 };
14
17 public:
18 ProjectPaths() = delete;
19 ProjectPaths(const ProjectPaths&) = delete;
20 ProjectPaths& operator=(const ProjectPaths&) = delete;
21
28 static std::filesystem::path getPathToEngineConfigsDirectory();
29
35 static std::filesystem::path getPathToLogsDirectory();
36
42 static std::filesystem::path getPathToPlayerProgressDirectory();
43
49 static std::filesystem::path getPathToPlayerSettingsDirectory();
50
56 static std::filesystem::path getPathToCompiledShadersDirectory();
57
67 static std::filesystem::path getPathToResDirectory(ResourceDirectory directory);
68
81 static std::filesystem::path getPathToBaseConfigDirectory();
82
83 private:
91 static std::filesystem::path getPathToResDirectory();
92
94 static constexpr std::string_view sLogsDirectoryName = "logs";
95
97 static constexpr std::string_view sProgressDirectoryName = "progress";
98
100 static constexpr std::string_view sSettingsDirectoryName = "settings";
101
103 static constexpr std::string_view sEngineDirectoryName = "engine";
104
106 static constexpr std::string_view sShaderCacheDirectoryName = "shader_cache";
107
109 static constexpr std::string_view sGameResourcesDirectoryName = "game";
110
112 static constexpr std::string_view sEngineResourcesDirectoryName = "engine";
113
115 static constexpr std::string_view sEditorResourcesDirectoryName = "editor";
116 };
117} // namespace ne
Definition: ProjectPaths.h:16
static constexpr std::string_view sProgressDirectoryName
Definition: ProjectPaths.h:97
static constexpr std::string_view sEditorResourcesDirectoryName
Definition: ProjectPaths.h:115
static constexpr std::string_view sEngineResourcesDirectoryName
Definition: ProjectPaths.h:112
static constexpr std::string_view sEngineDirectoryName
Definition: ProjectPaths.h:103
static constexpr std::string_view sLogsDirectoryName
Definition: ProjectPaths.h:94
static constexpr std::string_view sShaderCacheDirectoryName
Definition: ProjectPaths.h:106
static constexpr std::string_view sGameResourcesDirectoryName
Definition: ProjectPaths.h:109
static std::filesystem::path getPathToCompiledShadersDirectory()
Definition: ProjectPaths.cpp:40
static std::filesystem::path getPathToResDirectory()
Definition: ProjectPaths.cpp:123
static std::filesystem::path getPathToBaseConfigDirectory()
Definition: ProjectPaths.cpp:73
static std::filesystem::path getPathToPlayerSettingsDirectory()
Definition: ProjectPaths.cpp:36
static std::filesystem::path getPathToPlayerProgressDirectory()
Definition: ProjectPaths.cpp:32
static std::filesystem::path getPathToLogsDirectory()
Definition: ProjectPaths.cpp:28
static std::filesystem::path getPathToEngineConfigsDirectory()
Definition: ProjectPaths.cpp:24
static constexpr std::string_view sSettingsDirectoryName
Definition: ProjectPaths.h:100