package main.maps;

import java.util.ArrayList;

import ea.Knoten;
import main.Tile;
import main.entities.Entity;

/**
 * Auf der Map sind alle Entities, sowie die Tiles gespiechert.
 */
public abstract class Map extends Knoten {

	protected Tile[][] map; // Die Tiles der map in einem 2D Array.
	private ArrayList<Entity> entities;
	
	public Map(int width, int height) {
		map = new Tile[width][height];

		entities = new ArrayList<>(100);
	}
	
	/**
	 * Gibt das Tile-Objekt an der gegebenen Koordinate zurück. (nur wenn es existiert)
	 */
	public Tile getTile(int x, int y) {
		if (x >= 0 && x < map.length && y >= 0 && y < map[0].length) {
			return map[x][y];
		}
		return null;
	}
	
	public int getWidth() {
		return map.length;
	}
	
	public int getHeight() {
		return map[0].length;
	}

	public ArrayList<Entity> getEntities() {
		return entities;
	}
}
