private void addRandomEnemies(double dt) {
		if (currentTimeMobSpawn < 0) {
			//Level just loaded
			List<Point> positions = map.getAvailablePositions(player);
			if (positions.size() == 0) {
				System.out.println("No positions found via 0");
				return;
			}
			int nbMob = (int)  (positions.size() * percent_mobByAvailablePositions);
			
			for (int i = 0; i < nbMob; ++i) {
				Point p = positions.get( random.nextInt(positions.size()) );
				Enemy e = newEnemy();
				
				e.setPosition(p);
				positions.remove(p);
				addEntity(e);
			}
			
			currentTimeMobSpawn = 0.;
		}
		else {
			currentTimeMobSpawn += dt;
			
			if (currentTimeMobSpawn >= timeBeforeMobSpawn) {
				if (getNbEnemyEntities() < nbMaxEnemies) {
				
					List<Point> positions = map.getAvailablePositions(player);
					if (positions.size() == 0) {
						System.out.println("No positions found");
						return;
					}
					
					Point p = positions.get( random.nextInt(positions.size()) );
					Enemy e = new Enemy();
					
					e.setPosition(p);
					addEntity(e);
				}
				currentTimeMobSpawn -= timeBeforeMobSpawn;
			}
		}
	}