mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-07 21:38:01 -05:00
21 lines
869 B
C++
21 lines
869 B
C++
#pragma once
|
|
#include <unordered_map>
|
|
|
|
#include "AssetLoadingContext.h"
|
|
#include "IAssetLoader.h"
|
|
#include "IAssetLoadingManager.h"
|
|
|
|
class AssetLoadingManager final : public IAssetLoadingManager
|
|
{
|
|
const std::unordered_map<asset_type_t, std::unique_ptr<IAssetLoader>>& m_asset_loaders_by_type;
|
|
AssetLoadingContext& m_context;
|
|
XAssetInfoGeneric* m_last_dependency_loaded;
|
|
|
|
public:
|
|
AssetLoadingManager(const std::unordered_map<asset_type_t, std::unique_ptr<IAssetLoader>>& assetLoadersByType, AssetLoadingContext& context);
|
|
|
|
bool LoadAssetFromLoader(asset_type_t assetType, const std::string& assetName);
|
|
void AddAsset(asset_type_t assetType, const std::string& assetName, void* asset, std::vector<XAssetInfoGeneric*>& dependencies) override;
|
|
XAssetInfoGeneric* LoadDependency(asset_type_t assetType, const std::string& assetName) override;
|
|
};
|