Tileset animations.
This commit is contained in:
@ -13,6 +13,7 @@ TiledSprite::TiledSprite(SceneItem *item) : SceneItemComponent(item) {
|
||||
}
|
||||
|
||||
glm::vec2 TiledSprite::getUV0() {
|
||||
assertNotNull(this->tileset);
|
||||
auto tile = this->tileset->getTile(tileIndex);
|
||||
return glm::vec2(
|
||||
(this->flipState & TILED_SPRITE_FLIP_X) == 0 ? tile.uv0.x : tile.uv1.x,
|
||||
@ -21,6 +22,7 @@ glm::vec2 TiledSprite::getUV0() {
|
||||
}
|
||||
|
||||
glm::vec2 TiledSprite::getUV1() {
|
||||
assertNotNull(this->tileset);
|
||||
auto tile = this->tileset->getTile(tileIndex);
|
||||
return glm::vec2(
|
||||
(this->flipState & TILED_SPRITE_FLIP_X) == 0 ? tile.uv1.x : tile.uv0.x,
|
||||
@ -34,8 +36,18 @@ void TiledSprite::setTileset(Tileset *tileset) {
|
||||
this->setTile(0);
|
||||
}
|
||||
|
||||
void TiledSprite::setTilesetAndSize(TilesetGrid *tileset, glm::vec2 center) {
|
||||
this->setTileset(tileset);
|
||||
this->setSize(glm::vec2(tileset->divX, tileset->divY), center);
|
||||
}
|
||||
|
||||
void TiledSprite::setTilesetAndSize(TilesetGrid *tileset) {
|
||||
this->setTileset(tileset);
|
||||
this->setSize(glm::vec2(tileset->divX, tileset->divY));
|
||||
}
|
||||
|
||||
void TiledSprite::setTile(int32_t tileIndex) {
|
||||
assertNotNull(this->tileset);
|
||||
if(tileIndex == this->tileIndex) return;
|
||||
this->tileIndex = tileIndex;
|
||||
if(this->host != nullptr) {
|
||||
QuadMesh::bufferCoordinates(
|
||||
|
Reference in New Issue
Block a user