@Override
protected void preplaceTiles() {
//super.preplaceTiles();
for (Iterator<Tile> iter = ((DefaultTilePack)getTilePack()).drawPrePlacedActiveTiles().iterator(); iter.hasNext();) {
Tile preplaced = iter.next();
game.getBoard().add(preplaced, preplaced.getPosition(), true);
game.getBoard().mergeFeatures(preplaced);
game.post(new TileEvent(TileEvent.PLACEMENT, null, preplaced, preplaced.getPosition()));
if (preplaced.getBridge() != null) {
game.post(new BridgeDeployedEvent(null, preplaced.getPosition(), preplaced.getBridge().getLocation()));
}
}
snapshot.loadCapabilities(game);
//meeples must be places after capabilites are loaded - when cities replaces castles
for (Meeple m : tilePackFactory.getPreplacedMeeples()) {
Tile tile = game.getBoard().get(m.getPosition());
Feature f;
if (m instanceof Barn) {
//special case, barn holds 'corner' location
f = tile.getFeaturePartOf(m.getLocation());
} else {
f = tile.getFeature(m.getLocation());
}
m.setFeature(f);
f.addMeeple(m);
game.post(new MeepleEvent(null, m, null, new FeaturePointer(m.getPosition(), m.getLocation())));
}