Skip to content

Commit

Permalink
Minor optimizations to placeUnits() trigger. (#10450)
Browse files Browse the repository at this point in the history
  • Loading branch information
asvitkine authored May 17, 2022
1 parent 8bbeab1 commit 860f418
Showing 1 changed file with 10 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1450,20 +1450,23 @@ private static void placeUnits(
final IntegerMap<UnitType> utMap,
final GamePlayer player,
final IDelegateBridge bridge) {
// createUnits
// create the units
final List<Unit> units = new ArrayList<>();
for (final UnitType u : utMap.keySet()) {
units.addAll(u.create(utMap.getInt(u), player));
for (final Map.Entry<UnitType, Integer> entry : utMap.entrySet()) {
units.addAll(entry.getKey().create(entry.getValue(), player));
}
final CompositeChange change = new CompositeChange();
// mark no movement
// mark no movement and original owner
final Predicate<Unit> unitIsInfra = Matches.unitIsInfrastructure();
for (final Unit unit : units) {
change.add(ChangeFactory.markNoMovementChange(unit));
if (unitIsInfra.test(unit)) {
change.add(OriginalOwnerTracker.addOriginalOwnerChange(unit, player));
}
}
// place units
final Collection<Unit> factoryAndInfrastructure =
CollectionUtils.getMatches(units, Matches.unitIsInfrastructure());
change.add(OriginalOwnerTracker.addOriginalOwnerChange(factoryAndInfrastructure, player));
change.add(ChangeFactory.addUnits(terr, units));
bridge.addChange(change);
final String transcriptText =
MyFormatter.attachmentNameToText(t.getName())
+ ": "
Expand All @@ -1473,9 +1476,6 @@ private static void placeUnits(
+ " placed in "
+ terr.getName();
bridge.getHistoryWriter().startEvent(transcriptText, units);
final Change place = ChangeFactory.addUnits(terr, units);
change.add(place);
bridge.addChange(change);
}

/**
Expand Down

0 comments on commit 860f418

Please sign in to comment.