Select Git revision
VirtualRealityPawn.cpp
Tile.cpp 1.10 KiB
/**
* Tile.cpp
*
* @author David Maul
* @author Frederik Keens
*/
#include "Tile.hpp"
#include "Spritesheet.hpp"
#include <vector>
namespace advanced_wars
{
Tile::Tile(TileId id, int x, int y) : m_id(id), m_x(x), m_y(y) {}
void Tile::render(Engine& engine, int scale)
{
Spritesheet* spritesheet = engine.getSpritesheet();
int step = engine.getStage() % spritesheet->getTileTextures().at(static_cast<int>(m_id)).second;
SDL_Rect src;
src.x = step * spritesheet->getTileWidth();
src.y = 0;
src.w = spritesheet->getTileWidth();
src.h = spritesheet->getTileHeight();
SDL_Rect dest;
dest.x = m_x * spritesheet->getTileWidth() * scale;
dest.y = m_y * spritesheet->getTileHeight() * scale;
dest.w = spritesheet->getTileWidth() * scale;
dest.h = spritesheet->getTileHeight() * scale;
SDL_RenderCopyEx(
engine.renderer(), spritesheet->getTileTextures().at(static_cast<int>(m_id)).first, &src,
&dest, 0, NULL, SDL_FLIP_NONE);
}
TileId Tile::getType() const
{
return m_id; // Gibt den gespeicherten TileId zurück
}
} // namespace advanced_wars