#pragma once #include "assets/prefetch_queue.hpp" #include "assets/components/material_components.hpp" #include "generic/base_dynamic_loader.hpp" #include "assets/data_loaders/mtl_loader.hpp" #include "assets/dynamic_data_stores/dynamic_material_store.hpp" #include "assets/prefetch_lookups/material_prefetch_lookup.hpp" #include "util/string_list.hpp" class dynamic_material_loader : public base_dynamic_loader< components::material::flags // TODO no loaders > { 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, dynamic_material_store& store, material_prefetch_lookup& id_lookup, bool pedantic = false ); private: dynamic_material_buffer m_buffer{}; };