//
//  Map.cpp
//  Game
//
//  Created by Darvydas on 25/01/2019.
//

#include "Map.hpp"

namespace Game
{
    namespace Map
    {
        CMap::CMap(const int level)
        {
            
        }
        
        bool CMap::isInBounds(int x, int y) const
        {
            return x >= 0 && x < m_width && y >= 0 && y < m_height;
        }
        
        void CMap::setTile(int x, int y, ETile tile)
        {
            tiles[x + y * m_width] = tile;
        }
        
        ETile CMap::getTile(int x, int y) const
        {
            return tiles[x + y * m_width];
        }
        
        void CMap::fill(ETile tile)
        {
            std::fill(tiles.begin(), tiles.end(), tile);
        }
        
        void CMap::move(std::vector<ETile>&& tiles)
        {
            this->tiles = std::move(tiles);
        }
    }
}
