package main;

import ea.Knoten;
import main.entities.Entity;
import main.entities.Snake;
import main.entities.Spider;
import main.maps.Corridor;
import main.entities.player.Player;
import main.maps.Map;
import main.maps.TestMap;
import main.maps.TutorialMap;

/**
 * Hier werden alle Maps gespeichert.
 */
public class World extends Knoten {

	public static final int SCALE_FACTOR = 6; // Der Basis Zoomfaktor
	public static final int SCALE = SCALE_FACTOR * Tile.getSize(); // Eine Gameunit ist so viele pixel lang

	private Map currentMap; // Die Map die aktuell angezeigt werden soll.

	public World() {

		// Map initialisieren
		currentMap = new TutorialMap();
		// Map zu EA hinzuf�gen
		add(currentMap);

		// und Entities auch
		Player player = new Player();
		add(player.actionFigur);
		currentMap.getEntities().add(player);

		// und Spinnen auch
		Spider spider = new Spider();
		add(spider.actionFigur);
		currentMap.getEntities().add(spider);
		
		//und 
		Snake snake = new Snake();
		add(snake.actionFigur);
		currentMap.getEntities().add(snake);

		currentMap.setPlayer(player);

		Spider spider = new Spider();
		// und Spinnen auch
		add(spider.actionFigur);
		currentMap.getEntities().add(spider);
		
		Snake snake = new Snake();
		add(snake.actionFigur);
		currentMap.getEntities().add(snake);

		// Alle Entities als ticker registrieren (triggert dann die update methoden)
		for (Entity e : currentMap.getEntities()) {
			Main.instance.manager.anmelden(e, 20);
		}
	}
	
	public Map getCurrentMap() {
		return currentMap;
	}
}
