Skip to content
Snippets Groups Projects
LevelManager.java 1.44 KiB
package map;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

import environnement.Coordonnees;
import environnement.HitBox;
import jeu.Jeu;
import loaders.LoadSave;
import jeu.Painter;

public class LevelManager {

	private Jeu jeu;
	private Painter painter;
	private BufferedImage[] levelSprite;
	private Level levelOne;

	public LevelManager() {
		importOutsideSprites();
		levelOne = new Level(LoadSave.GetLevelData());
	}

	private void importOutsideSprites() {
		BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_SPRITES);
		levelSprite = new BufferedImage[18];
		for (int j = 0; j < 2; j++)
			for (int i = 0; i < 9; i++) {
				int index = j * 9 + i;
				levelSprite[index] = img.getSubimage(i * 32, j * 32, 32, 32);
			}
	}

	public List<Obstacle> generateObstacleTable() {
		List<Obstacle> liste = new ArrayList<>();
		for (int j = 0; j < Jeu.TILES_IN_HEIGHT; j++)
			for (int i = 0; i < Jeu.TILES_IN_WIDTH; i++) {
				int index = levelOne.getSpriteIndex(i, j);
				//g.drawImage(levelSprite[index], Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j, Jeu.TILES_SIZE, Jeu.TILES_SIZE, null);
				if (index<=14) {
					liste.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j-300), Jeu.TILES_SIZE, Jeu.TILES_SIZE)));
					System.out.println(liste.size());
				}
			}
		return liste;
	}

	public void update() {

	}

	public Level getCurrentLevel() {
		return levelOne;
	} 

}