Skip to content
Snippets Groups Projects
Select Git revision
  • 49a1bf00ee2d9a44461db177be9aeb96d98203da
  • main default protected
2 results

message.h

Blame
  • 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