Program Listing for File textureStorage.h
↰ Return to documentation for file (PrismEngine/src/textureStorage.h)
#pragma once
#include <unordered_map>
#include "pgcResourceStorage.h"
#include "textureLoader.h"
#include "assetSpec.h"
#include "idPool.h"
DECLARE_PGC_LAYER_INSTANCE(L1)
class TextureStorage : public L1_Object<TextureStorage> {
public:
void createImpl();
TextureId load(assets::AssetSpec assetSpec);
Texture& getData(TextureId id);
//void reload(assets::AssetSpec assetSpec, TextureId id);
void unload(TextureId id);
void update();
void clear();
void cleanupImpl();
private:
PGC::L2::TextureLoader* loader;
std::vector<Texture> data;
prism::utils::IdPool<TextureId, INVALID_TEXTURE_ID + 1, INVALID_TEXTURE_ID> pool;
bool isActual;
};
END_NAMESPACE_DECLARATION