feat: keeping assets alive during current frame (temporary solution)

This commit is contained in:
MihailRis 2026-02-28 00:27:08 +03:00
parent ad758fd718
commit ded0964827
4 changed files with 27 additions and 5 deletions

View file

@ -51,7 +51,7 @@ void AssetsManagement::loadAssets(Content* content) {
logger.info() << "loading assets";
Shader::preprocessor->setPaths(&paths.resPaths);
auto new_assets = std::make_unique<Assets>();
auto new_assets = std::make_unique<Assets>(assetsVault);
AssetsLoader loader(engine, *new_assets, paths.resPaths);
AssetsLoader::addDefaults(loader, content);
@ -78,6 +78,7 @@ void AssetsManagement::loadAssets(Content* content) {
}
void AssetsManagement::update() {
assetsVault.clearKeepedObjects();
if (backgroundLoaderTask) {
backgroundLoaderTask->update();
}

View file

@ -1,6 +1,7 @@
#pragma once
#include "assets/Assets.hpp"
#include "util/ObjectsKeeper.hpp"
#include <memory>
@ -30,4 +31,5 @@ private:
std::unique_ptr<Assets> assets;
std::unique_ptr<AssetsLoader> backgroundLoader;
std::shared_ptr<Task> backgroundLoaderTask;
util::ObjectsKeeper assetsVault;
};