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; } }