public class MapInitializerImpl extends MapImpl implements MapInitializer
highestAltitude, mineralPatches, neutralData, players, rawFrontier, terrainData, units, vespeneGeysers
Constructor and Description |
---|
MapInitializerImpl(BWMap bwMap,
MapDrawer mapDrawer,
java.util.Collection<Player> players,
java.util.List<MineralPatch> mineralPatches,
java.util.List<VespeneGeyser> vespeneGeysers,
java.util.Collection<UnitImpl> units) |
Modifier and Type | Method and Description |
---|---|
void |
computeAltitude(TerrainData terrainData) |
void |
computeAreas(java.util.List<TempAreaInfo> tempAreaList,
int areaMinMiniTiles) |
java.util.List<TempAreaInfo> |
computeTempAreas(java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,MiniTile>> miniTilesByDescendingAltitude) |
void |
createAreas(java.util.List<TempAreaInfo> tempAreaList,
int areaMinMiniTiles) |
java.util.List<PlayerUnit> |
filterNeutralPlayerUnits(java.util.Collection<UnitImpl> units,
java.util.Collection<Player> players) |
java.util.List<PlayerUnit> |
filterPlayerUnits(java.util.Collection<UnitImpl> units,
Player player) |
java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> |
getActiveSeaSideList(TerrainData terrainData)
2) Fill in ActiveSeaSideList, which basically contains all the seaside miniTiles (from which
altitudes are to be computed) It also includes extra border-miniTiles which are considered as
seaside miniTiles too.
|
java.util.List<Neutral> |
getCandidates(java.util.List<StaticBuilding> staticBuildings,
java.util.List<Mineral> minerals) |
java.util.List<WalkPosition> |
getDoors(java.util.List<WalkPosition> border)
2) Find the doors in border: one door for each connected set of walkable, neighboring
miniTiles.
|
java.util.List<WalkPosition> |
getOuterMiniTileBorderOfNeutral(Neutral pCandidate) |
java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> |
getSortedDeltasByAscendingAltitude(int mapWalkTileWidth,
int mapWalkTileHeight,
int altitudeScale)
1) Fill in and sort DeltasByAscendingAltitude
|
java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,MiniTile>> |
getSortedMiniTilesByDescendingAltitude() |
java.util.List<WalkPosition> |
getTrueDoors(java.util.List<WalkPosition> doors,
Neutral pCandidate)
3) If at least 2 doors, find the true doors in Border: a true door is a door that gives onto an
area big enough
|
void |
initialize(boolean enableTimer) |
void |
initializeNeutralData(java.util.List<MineralPatch> mineralPatches,
java.util.List<VespeneGeyser> vespeneGeysers,
java.util.List<PlayerUnit> neutralUnits) |
void |
initializeTerrainData(int mapTileWidth,
int mapTileHeight,
java.util.List<TilePosition> startingLocations) |
void |
markBlockingStackedNeutrals(Neutral pCandidate,
java.util.List<WalkPosition> trueDoors)
4) If at least 2 true doors, pCandidate is a blocking static building
|
void |
processBlockingNeutrals(java.util.List<Neutral> candidates) |
void |
replaceAreaIds(WalkPosition p,
AreaId newAreaId) |
Altitude |
setAltitudesAndGetUpdatedHighestAltitude(Altitude currentHighestAltitude,
TerrainData terrainData,
java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> deltasByAscendingAltitude,
java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> activeSeaSideList,
int altitudeScale) |
void |
setHighestAltitude(Altitude altitude) |
void |
setLowestAltitudeInTile(TilePosition t) |
java.util.List<WalkPosition> |
trimOuterMiniTileBorder(java.util.List<WalkPosition> border) |
assignStartingLocationsToSuitableBases, automaticPathUpdate, breadthFirstSearch, breadthFirstSearch, breadthFirstSearch, breadthFirstSearch, chooseNeighboringArea, drawDiagonalCrossMap, enableAutomaticPathAnalysis, findNeighboringAreas, getArea, getArea, getArea, getAreas, getBases, getBWMap, getChokePoints, getData, getGraph, getHighestAltitude, getMainArea, getMapPrinter, getNearestArea, getNearestArea, getNeutralData, getPath, getPath, getRawFrontier, getUnassignedStartingLocations, isInitialized, onBlockingNeutralDestroyed, onMineralDestroyed, onStaticBuildingDestroyed, onUnitDestroyed, setAreaIdInTile
public MapInitializerImpl(BWMap bwMap, MapDrawer mapDrawer, java.util.Collection<Player> players, java.util.List<MineralPatch> mineralPatches, java.util.List<VespeneGeyser> vespeneGeysers, java.util.Collection<UnitImpl> units)
public void initialize(boolean enableTimer)
initialize
in interface MapInitializer
public void initializeTerrainData(int mapTileWidth, int mapTileHeight, java.util.List<TilePosition> startingLocations)
initializeTerrainData
in interface MapInitializer
public void initializeNeutralData(java.util.List<MineralPatch> mineralPatches, java.util.List<VespeneGeyser> vespeneGeysers, java.util.List<PlayerUnit> neutralUnits)
initializeNeutralData
in interface MapInitializer
public void computeAltitude(TerrainData terrainData)
computeAltitude
in interface MapInitializer
public java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> getSortedDeltasByAscendingAltitude(int mapWalkTileWidth, int mapWalkTileHeight, int altitudeScale)
getSortedDeltasByAscendingAltitude
in interface MapInitializer
public java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> getActiveSeaSideList(TerrainData terrainData)
getActiveSeaSideList
in interface MapInitializer
public Altitude setAltitudesAndGetUpdatedHighestAltitude(Altitude currentHighestAltitude, TerrainData terrainData, java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> deltasByAscendingAltitude, java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,Altitude>> activeSeaSideList, int altitudeScale)
setAltitudesAndGetUpdatedHighestAltitude
in interface MapInitializer
public void setHighestAltitude(Altitude altitude)
setHighestAltitude
in interface MapInitializer
public void processBlockingNeutrals(java.util.List<Neutral> candidates)
processBlockingNeutrals
in interface MapInitializer
public java.util.List<Neutral> getCandidates(java.util.List<StaticBuilding> staticBuildings, java.util.List<Mineral> minerals)
getCandidates
in interface MapInitializer
public java.util.List<WalkPosition> getOuterMiniTileBorderOfNeutral(Neutral pCandidate)
getOuterMiniTileBorderOfNeutral
in interface MapInitializer
public java.util.List<WalkPosition> trimOuterMiniTileBorder(java.util.List<WalkPosition> border)
trimOuterMiniTileBorder
in interface MapInitializer
public java.util.List<WalkPosition> getDoors(java.util.List<WalkPosition> border)
getDoors
in interface MapInitializer
public java.util.List<WalkPosition> getTrueDoors(java.util.List<WalkPosition> doors, Neutral pCandidate)
getTrueDoors
in interface MapInitializer
public void markBlockingStackedNeutrals(Neutral pCandidate, java.util.List<WalkPosition> trueDoors)
markBlockingStackedNeutrals
in interface MapInitializer
public void computeAreas(java.util.List<TempAreaInfo> tempAreaList, int areaMinMiniTiles)
computeAreas
in interface MapInitializer
public java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,MiniTile>> getSortedMiniTilesByDescendingAltitude()
getSortedMiniTilesByDescendingAltitude
in interface MapInitializer
public java.util.List<TempAreaInfo> computeTempAreas(java.util.List<org.apache.commons.lang3.tuple.MutablePair<WalkPosition,MiniTile>> miniTilesByDescendingAltitude)
computeTempAreas
in interface MapInitializer
public void replaceAreaIds(WalkPosition p, AreaId newAreaId)
replaceAreaIds
in interface MapInitializer
public void createAreas(java.util.List<TempAreaInfo> tempAreaList, int areaMinMiniTiles)
createAreas
in interface MapInitializer
public void setLowestAltitudeInTile(TilePosition t)
setLowestAltitudeInTile
in interface MapInitializer
public java.util.List<PlayerUnit> filterPlayerUnits(java.util.Collection<UnitImpl> units, Player player)
filterPlayerUnits
in interface MapInitializer
filterPlayerUnits
in class MapImpl
public java.util.List<PlayerUnit> filterNeutralPlayerUnits(java.util.Collection<UnitImpl> units, java.util.Collection<Player> players)
filterNeutralPlayerUnits
in interface MapInitializer
filterNeutralPlayerUnits
in class MapImpl