package pathgame.rendering;

import pathgame.tilemap.Tile;
import pathgame.tilemap.TileMap;

/** Represents an operation that accepts tile map data and returns a tile texture.
 *
 * @author kajetan
 */
@FunctionalInterface
public interface TileTextureProvider
{
    /** Returns a tile texture corresponding to the given tile at the given position.
     *
     * @param map a map
     * @param t a tile
     * @param x the x coordinate of the tile
     * @param y the y coordinate of the tile
     * @return a tile texture corresponding to the given tile at the given position
     */
    public TileTexture getTexture(TileMap map, Tile t, int x, int y);
}
