#pragma once #include "assets/prefetch_queue.hpp" #include "assets/components/material_components.hpp" #include "assets/data/material_library_data.hpp" #include "assets/data_stores/material_store.hpp" #include "assets/prefetch_lookups/material_library_prefetch_lookup.hpp" #include "generic/base_dynamic_loader.hpp" #include "util/string_list.hpp" #include "assets/file_parsers/mtl_parser.hpp" // TODO not implemented?!? namespace assets { class material_library_loader : public base_dynamic_loader< material_components::flags, mtl_parser > { public: [[nodiscard]] std::error_code prefetch( loader_id_type loader_id, const ztu::string_list& directories, prefetch_queue& queue ); [[nodiscard]] std::error_code load( loader_id_type loader_id, const ztu::string_list& directories, material_library_store& store, material_store& material_store, material_library_prefetch_lookup& id_lookup, bool pedantic = false ); private: material_library_data m_buffer{}; }; }