+void AssetLoader::LoadTextures(const TextureIndex &index, ArrayTexture &tex) const {
+ // TODO: where the hell should that size come from?
+ tex.Reserve(16, 16, index.Size(), Format());
+ for (const auto &entry : index.Entries()) {
+ LoadTexture(entry.first, tex, entry.second);
+ }
+}
+
+
+TextureIndex::TextureIndex()
+: id_map() {
+
+}
+
+int TextureIndex::GetID(const string &name) {
+ auto entry = id_map.find(name);
+ if (entry == id_map.end()) {
+ auto result = id_map.emplace(name, Size());
+ return result.first->second;
+ } else {
+ return entry->second;
+ }
+}
+