#pragma once #include "AssetLoading/IAssetLoadingManager.h" #include #include class MockAssetLoadingManager final : public IAssetLoadingManager { Zone& m_zone; std::unique_ptr m_mock_gdt; std::unique_ptr m_context; std::map> m_added_assets; std::multimap> m_available_dependencies; public: MockAssetLoadingManager(Zone& zone, ISearchPath& searchPath); _NODISCARD AssetLoadingContext* GetAssetLoadingContext() const override; XAssetInfoGeneric* AddAsset(std::unique_ptr xAssetInfo) override; XAssetInfoGeneric* LoadDependency(asset_type_t assetType, const std::string& assetName) override; IndirectAssetReference LoadIndirectAssetReference(asset_type_t assetType, const std::string& assetName) override; void MockAddAvailableDependency(asset_type_t assetType, std::string assetName, void* asset); XAssetInfoGeneric* MockGetAddedAsset(const std::string& assetName); };