mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
35 lines
735 B
C++
35 lines
735 B
C++
#pragma once
|
|
|
|
#include "assets/Assets.hpp"
|
|
#include "util/ObjectsKeeper.hpp"
|
|
|
|
#include <memory>
|
|
|
|
class AssetsLoader;
|
|
class Engine;
|
|
class Content;
|
|
class Task;
|
|
struct EngineSettings;
|
|
|
|
class AssetsManagement final {
|
|
public:
|
|
AssetsManagement(Engine& engine);
|
|
~AssetsManagement();
|
|
|
|
void loadAssets(Content* content);
|
|
void update();
|
|
|
|
Assets* getStorage();
|
|
const Assets* getStorage() const;
|
|
|
|
AssetsLoader& acquireBackgroundLoader();
|
|
private:
|
|
void finishBackgroundLoader();
|
|
|
|
Engine& engine;
|
|
const EngineSettings& settings;
|
|
std::unique_ptr<Assets> assets;
|
|
std::unique_ptr<AssetsLoader> backgroundLoader;
|
|
std::shared_ptr<Task> backgroundLoaderTask;
|
|
util::ObjectsKeeper assetsVault;
|
|
};
|