7#include <stb/stb_image.h>
8#include <stb/stb_image_resize2.h>
10#include "LkEngine/Core/Memory/MemoryUtils.h"
14 enum class EFileExtension
23 enum class EFileExtensionLength
35 LFile(
const std::string& InFilePath);
39 FORCEINLINE
static bool DoesFileExist(T FilePath)
46 FORCEINLINE
static bool DoesFileExist(std::string_view InFilePath)
48 return std::filesystem::exists(InFilePath) && !std::filesystem::is_directory(InFilePath);
52 FORCEINLINE
static bool DoesFileExist(std::filesystem::path InFilePath)
54 return std::filesystem::exists(InFilePath) && !std::filesystem::is_directory(InFilePath);
61 FORCEINLINE
static bool DoesFileExist(std::string_view InFilePath)
63 return std::filesystem::exists(InFilePath) && !std::filesystem::is_directory(InFilePath);
70 FORCEINLINE
static bool HasFileExtension(
const std::string& filename)
72 size_t pos = filename.rfind(
'.');
73 if (pos == std::string::npos)
81 static std::string ExtractFilename(std::string_view InFilePath)
83 const size_t Pos = InFilePath.find_last_of(
"/\\");
84 if (Pos != std::string::npos)
86 return std::string(InFilePath.substr(Pos + 1));
92 static int GetFilesInDirectory(std::string_view Directory, std::vector<LFile>& Files);
94 FORCEINLINE std::string GetName()
const {
return Name; }
95 FORCEINLINE std::string GetPath()
const {
return Path.string(); }
97 FORCEINLINE std::filesystem::path GetParentPath()
const
99 return Path.parent_path();
102 FORCEINLINE
void SetPath(
const std::string& InFilePath)
108 std::filesystem::path Path{};