Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
Muto::FileSystem Class Reference

WIP. More...

#include <PlatformUtils.h>

Static Public Member Functions

static std::string GetAbsolutePath (const std::string &relativePath)
 
static std::string GetCurrentWorkingDirectory ()
 
static std::string GetTravelingUpPath (const std::string &path)
 
static void Initialize ()
 
static bool IsInitialized ()
 

Static Public Attributes

static std::string m_AssetsDirectory = ""
 
static std::string m_CurrentProjectDirectory = ""
 
static bool m_Initialized = false
 
static std::string m_ProjectsDirectory = ""
 
static std::string m_ResourcesDirectory = ""
 
static std::string m_RootEditorDirectory = ""
 
static std::string m_RootEngineDirectory = ""
 

Detailed Description

WIP.

Member Function Documentation

◆ GetAbsolutePath()

std::string Muto::FileSystem::GetAbsolutePath ( const std::string &  relativePath)
static
39 {
40 return std::filesystem::absolute(relativePath).lexically_normal().string();
41 }
constexpr Scope< T > CreateScope(Args &&... args)
Creates a Scope (unique_ptr) for the given type and constructor arguments.
Definition Defines_Macros.h:51

Referenced by Muto::EditorLayer::OnAttach().

◆ GetCurrentWorkingDirectory()

std::string Muto::FileSystem::GetCurrentWorkingDirectory ( )
static
34 {
35 return std::filesystem::current_path().string();
36 }

Referenced by Muto::EditorLayer::OnAttach().

◆ GetTravelingUpPath()

std::string Muto::FileSystem::GetTravelingUpPath ( const std::string &  path)
static
44 {
45 return std::filesystem::path(path).parent_path().string();
46 }

◆ Initialize()

void Muto::FileSystem::Initialize ( )
static
17 {
18 if (m_Initialized)
19 return;
20
21 m_Initialized = true;
22 const std::filesystem::path workingDirectory = std::filesystem::current_path();
25 m_ResourcesDirectory = (workingDirectory / "Resources").string();
26 m_AssetsDirectory = (workingDirectory / "assets").string();
27 m_ProjectsDirectory = (workingDirectory / "Projects").string();
28 m_CurrentProjectDirectory = (std::filesystem::path(m_ProjectsDirectory) / "DefaultProject").string();
29
30 MU_CORE_TRACE("FileSystem initialized");
31 }
#define MU_CORE_TRACE(...)
trace: lowest level, for detailed debug information
Definition Log.h:36
static std::string m_RootEditorDirectory
Definition PlatformUtils.h:41
static std::string m_RootEngineDirectory
Definition PlatformUtils.h:40
static std::string m_ProjectsDirectory
Definition PlatformUtils.h:44
static std::string m_AssetsDirectory
Definition PlatformUtils.h:43
static bool m_Initialized
Definition PlatformUtils.h:39
static std::string m_ResourcesDirectory
Definition PlatformUtils.h:42
static std::string m_CurrentProjectDirectory
Definition PlatformUtils.h:45

References m_AssetsDirectory, m_CurrentProjectDirectory, m_Initialized, m_ProjectsDirectory, m_ResourcesDirectory, m_RootEditorDirectory, and m_RootEngineDirectory.

Referenced by Muto::EditorLayer::OnAttach().

◆ IsInitialized()

static bool Muto::FileSystem::IsInitialized ( )
inlinestatic
37{ return m_Initialized; }

References m_Initialized.

Member Data Documentation

◆ m_AssetsDirectory

std::string Muto::FileSystem::m_AssetsDirectory = ""
static

Referenced by Initialize().

◆ m_CurrentProjectDirectory

std::string Muto::FileSystem::m_CurrentProjectDirectory = ""
static

Referenced by Initialize().

◆ m_Initialized

bool Muto::FileSystem::m_Initialized = false
static

Referenced by Initialize(), and IsInitialized().

◆ m_ProjectsDirectory

std::string Muto::FileSystem::m_ProjectsDirectory = ""
static

Referenced by Initialize().

◆ m_ResourcesDirectory

std::string Muto::FileSystem::m_ResourcesDirectory = ""
static

Referenced by Initialize().

◆ m_RootEditorDirectory

std::string Muto::FileSystem::m_RootEditorDirectory = ""
static

Referenced by Initialize().

◆ m_RootEngineDirectory

std::string Muto::FileSystem::m_RootEngineDirectory = ""
static

Referenced by Initialize().


The documentation for this class was generated from the following files: