SpiecsEngine
 
Loading...
Searching...
No Matches

◆ SearchFile()

bool Spices::TextureLoader::SearchFile ( const std::string & fileName,
std::function< void(const std::string &)> binF,
std::function< void(const std::string &)> srcF )
staticprivate

Search texture file and load.

Parameters
[in]fileName.
[in]binFLoad ktx file function.
[in]srcFLoad src file function.
Returns
Returns true if load file succeed.

Definition at line 69 of file TextureLoader.cpp.

74 {
76
77 const std::vector<std::string> splitString = StringLibrary::SplitString(fileName, '.');
78
79 for (auto& it : ResourceSystem::GetSearchFolder())
80 {
81 std::string filePath = it + binTexturePath + splitString[0] + ".ktx";
82 if (FileLibrary::FileLibrary_Exists(filePath.c_str()))
83 {
84 binF(it);
85 return true;
86 }
87 }
88 for (auto& it : ResourceSystem::GetSearchFolder())
89 {
90 std::string filePath = it + defaultTexturePath + fileName;
91 if (FileLibrary::FileLibrary_Exists(filePath.c_str()))
92 {
93 srcF(it);
94 return true;
95 }
96 }
97
98 std::stringstream ss;
99 ss << "File: " << fileName << " Not Find";
100
101 SPICES_CORE_ERROR(ss.str())
102 return false;
103 }
#define SPICES_PROFILE_ZONE
static bool FileLibrary_Exists(const char *path)
Determine whether the given string is existing a file.
static std::vector< std::string > SplitString(const std::string &input, char delimiter)
Split a string to a string vector container use a char.
const std::string binTexturePath
const std::string defaultTexturePath
Const variable: Original Image File Path.