3#include <engine/engine_export.h>
20struct physics_material;
35 static_assert(!std::is_same_v<T, T>,
"get_suported_formats must be specialized for this type");
36 static const std::vector<std::string> result = {};
47 static std::vector<std::string> formats = {
".ttf",
".otf"};
54 static std::vector<std::string> formats = {
".etex",
".png",
".jpg",
".jpeg",
".tga",
".dds",
".ktx",
".pvr",
".exr",
".hdr",
".bmp",
".gif",
".psd"};
61 static std::vector<std::string> formats = {
".emesh",
".gltf",
".glb",
".obj",
".fbx",
".FBX",
".dae",
".blend",
".3ds"};
68 static std::vector<std::string> formats = {
".eaudioclip",
".ogg",
".wav",
".flac",
".mp3"};
75 static std::vector<std::string> formats = {
".sh"};
82 static std::vector<std::string> formats = {
".rcss"};
89 static std::vector<std::string> formats = {
".sc"};
96 static std::vector<std::string> formats = {
".mat",
".ematerial"};
103 static std::vector<std::string> formats = {
".anim"};
110 static std::vector<std::string> formats = {
".pfb"};
117 static std::vector<std::string> formats = {
".spfb"};
124 static std::vector<std::string> formats = {
".phm",
".ephmaterial"};
131 static std::vector<std::string> formats = {
".cs"};
138 static std::vector<std::string> formats = {
".rhtml"};
145 static std::vector<std::string> formats = {
".rcss"};
177 return std::find_if(std::begin(supported),
179 [&](
const std::string& el)
181 return el.find(
ex) != std::string::npos;
182 }) != std::end(supported);
186inline auto get_format(
bool include_dot =
true) -> std::string
193 return format.substr(1);
200 for(
auto& fmt : formats)
202 fmt.insert(fmt.begin(),
'*');
210 static const std::string result =
".meta";
217 return prefix +
"data";
222 return prefix +
"data";
227 return prefix +
"compiled";
246inline auto get_type(
const std::string&
ex,
bool is_directory =
false) ->
const std::string&
250 static const std::string result =
"Texture";
255 static const std::string result =
"Shader";
260 static const std::string result =
"Material";
265 static const std::string result =
"Mesh";
270 static const std::string result =
"Animation Clip";
275 static const std::string result =
"Audio Clip";
280 static const std::string result =
"Prefab";
285 static const std::string result =
"Scene";
290 static const std::string result =
"Physics Material";
295 static const std::string result =
"Script";
300 static const std::string result =
"Font";
305 static const std::string result =
"UI Tree";
310 static const std::string result =
"Style Sheet";
315 static const std::string result =
"Folder";
319 static const std::string result;
326 if constexpr(std::is_same_v<T, gfx::texture>)
328 static const std::string result =
"Texture";
331 if constexpr(std::is_same_v<T, gfx::shader>)
333 static const std::string result =
"Shader";
336 if constexpr(std::is_same_v<T, unravel::material>)
338 static const std::string result =
"Material";
341 if constexpr(std::is_same_v<T, unravel::mesh>)
343 static const std::string result =
"Mesh";
346 if constexpr(std::is_same_v<T, unravel::animation_clip>)
348 static const std::string result =
"Animation Clip";
351 if constexpr(std::is_same_v<T, unravel::audio_clip>)
353 static const std::string result =
"Audio Clip";
356 if constexpr(std::is_same_v<T, unravel::prefab>)
358 static const std::string result =
"Prefab";
361 if constexpr(std::is_same_v<T, unravel::scene_prefab>)
363 static const std::string result =
"Scene";
366 if constexpr(std::is_same_v<T, unravel::physics_material>)
368 static const std::string result =
"Physics Material";
371 if constexpr(std::is_same_v<T, unravel::script>)
373 static const std::string result =
"Script";
376 if constexpr(std::is_same_v<T, unravel::script_library>)
378 static const std::string result =
"Scripts";
381 if constexpr(std::is_same_v<T, unravel::font>)
383 static const std::string result =
"Font";
386 if constexpr(std::is_same_v<T, unravel::ui_tree>)
388 static const std::string result =
"UI Tree";
391 if constexpr(std::is_same_v<T, unravel::style_sheet>)
393 static const std::string result =
"Style Sheet";
397 static const std::string result;
auto get_suported_formats< gfx::shader >() -> const std::vector< std::string > &
auto get_all_formats() -> const std::vector< std::vector< std::string > > &
auto get_format(bool include_dot=true) -> std::string
auto get_compiled_directory_no_slash(const std::string &prefix={}) -> std::string
auto get_suported_formats< unravel::ui_tree >() -> const std::vector< std::string > &
auto get_data_directory(const std::string &prefix={}) -> std::string
auto get_suported_formats< unravel::audio_clip >() -> const std::vector< std::string > &
auto get_type() -> const std::string &
auto is_format(const std::string &ex) -> bool
auto get_meta_directory_no_slash(const std::string &prefix={}) -> std::string
auto get_suported_formats< unravel::scene_prefab >() -> const std::vector< std::string > &
auto get_suported_formats< unravel::style_sheet >() -> const std::vector< std::string > &
auto get_suported_formats< unravel::animation_clip >() -> const std::vector< std::string > &
auto get_suported_formats< unravel::font >() -> const std::vector< std::string > &
auto get_meta_format() -> const std::string &
auto get_compiled_directory(const std::string &prefix={}) -> std::string
auto get_suported_formats< unravel::physics_material >() -> const std::vector< std::string > &
auto get_suported_formats< gfx::texture >() -> const std::vector< std::string > &
auto get_suported_dependencies_formats< gfx::shader >() -> const std::vector< std::string > &
auto get_meta_directory(const std::string &prefix={}) -> std::string
auto get_suported_formats< unravel::prefab >() -> const std::vector< std::string > &
auto get_suported_formats< unravel::material >() -> const std::vector< std::string > &
auto get_suported_formats< unravel::mesh >() -> const std::vector< std::string > &
auto get_suported_formats() -> const std::vector< std::string > &
auto get_suported_dependencies_formats< unravel::ui_tree >() -> const std::vector< std::string > &
auto get_data_directory_no_slash(const std::string &prefix={}) -> std::string
auto get_suported_dependencies_formats() -> const std::vector< std::string > &
auto get_suported_formats_with_wildcard() -> std::vector< std::string >
auto get_suported_formats< unravel::script >() -> const std::vector< std::string > &