#pragma once #include #include "resourceManager.h" class tileSet { Texture tileSheet; glm::ivec2 dims; public: tileSet(const Texture &texture, glm::ivec2 tileDims) : tileSheet(texture), dims(tileDims) {} glm::vec4 getUVs(int index) { int tileX = index % dims.x; int tileY = index / dims.x; glm::vec4 UV; UV.x = tileX / (float)dims.x; UV.y = tileY / (float)dims.y; UV.z = UV.x + 1.0f / dims.x; UV.w = UV.y - 1.0f / dims.y; return UV; } glm::vec4 getUVsExtended(int index, int lengthX, int lengthY) { int tileX = index % dims.x; int tileY = index / dims.x; int secondTileX = lengthX % dims.x; std::cout << "secondTileX: " << secondTileX << "\n"; glm::vec4 UV; UV.x = tileX / (float)dims.x; UV.y = tileY / (float)dims.y; UV.z = UV.x + (float)secondTileX / dims.x; UV.w = UV.y - (float)lengthY / dims.y; return UV; } };