4jcraft/Minecraft.Client/Textures/ResourceLocation.h
2026-03-21 22:46:45 -05:00

47 lines
1.1 KiB
C++

#pragma once
#include "Textures.h"
typedef arrayWithLength<_TEXTURE_NAME> textureNameArray;
class ResourceLocation {
private:
textureNameArray m_texture;
std::wstring m_path;
bool m_preloaded;
public:
ResourceLocation() {
m_preloaded = false;
m_path = L"";
}
ResourceLocation(_TEXTURE_NAME texture) {
m_texture = textureNameArray(1);
m_texture[0] = texture;
m_preloaded = true;
}
ResourceLocation(std::wstring path) {
m_path = path;
m_preloaded = false;
}
ResourceLocation(intArray textures) {
m_texture = textureNameArray(textures.length);
for (unsigned int i = 0; i < textures.length; ++i) {
m_texture[i] = (_TEXTURE_NAME)textures[i];
}
m_preloaded = true;
}
~ResourceLocation() { delete m_texture.data; }
_TEXTURE_NAME getTexture() { return m_texture[0]; }
_TEXTURE_NAME getTexture(int idx) { return m_texture[idx]; }
int getTextureCount() { return m_texture.length; }
std::wstring getPath() { return m_path; }
bool isPreloaded() { return m_preloaded; }
};