@Override public MapFileHeader getFileHeader() { return mapLoader.getFileHeader(); }
@Override public int compareTo(MapLoader other) { MapFileHeader myHeader = this.getFileHeader(); MapFileHeader otherHeader = other.getFileHeader(); if (myHeader.getType() == otherHeader.getType() && myHeader.getType() == MapType.SAVED_SINGLE) { return -this.getCreationDate().compareTo(other.getCreationDate()); // order by date descending } else { return this.getMapName().compareToIgnoreCase(other.getMapName()); // order by name ascending } }
@Override public synchronized void foundMap(IListedMap map) { MapLoader loader; try { loader = MapLoader.getLoaderForListedMap(map); } catch (Exception e) { System.err.println("Cought exception while loading header for " + map.getFileName()); e.printStackTrace(); return; } MapFileHeader mapHead = loader.getFileHeader(); // - if the map can't be load (e.g. caused by wrong format) the mapHead gets NULL! -> hide/ignore this map from user if (mapHead != null) { MapType type = loader.getFileHeader().getType(); if ((type == MapType.SAVED_SINGLE)) { savedMaps.add((RemakeMapLoader) loader); } else { freshMaps.add(loader); } } }
/** * Load a map * * @param loader * Map to load * @throws MapLoadException */ public void loadMap(MapLoader loader) throws MapLoadException { MapData data = new MapData(loader.getMapData()); MapFileHeader header = loader.getFileHeader(); loadMap(header, data); }
private void buildPlayerSlots() { int maximumNumberOfPlayers = this.mapLoader.getMaxPlayers(); playerSlots.clear(); for (byte i = 0; i < maximumNumberOfPlayers; i++) { PlayerSlot playerSlot = playerSlotFactory.createPlayerSlot(i, this.mapLoader); playerSlots.add(playerSlot); } PlayerSetting[] playerSettings = mapLoader.getFileHeader().getPlayerSettings(); for (byte i = 0; i < playerSlots.size(); i++) { PlayerSlot playerSlot = playerSlots.get(i); PlayerSetting playerSetting = playerSettings[i]; playerSlot.setSlot(i); if (playerSetting.getTeamId() != null) { playerSlot.setTeam(playerSetting.getTeamId(), false); } else { playerSlot.setTeam(i); } if (playerSetting.getCivilisation() != null) { playerSlot.setCivilisation(playerSetting.getCivilisation(), false); } if (playerSetting.getPlayerType() != null) { playerSlot.setPlayerType(playerSetting.getPlayerType(), false); } } }
if (loadableReplayFile == null) { MapLoader mapLoader = MapLoader.getLoaderForListedMap(new DirectoryMapLister.ListedMapFile(new File(mapFile))); if (mapLoader.getFileHeader().getType() == MapFileHeader.MapType.NORMAL) { byte playerId = 0; PlayerSetting[] playerSettings = PlayerSetting.createDefaultSettings(playerId, (byte) mapLoader.getMaxPlayers()); game = new JSettlersGame(mapLoader, randomSeed, playerId, playerSettings).start(); } else { MapFileHeader header = mapLoader.getFileHeader(); game = new JSettlersGame(mapLoader, randomSeed, header.getPlayerId(), header.getPlayerSettings()).start();