mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
a minor brush up (use EnumSet instead of switch-case)
This commit is contained in:
@@ -20,6 +20,7 @@ package forge.quest;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -27,6 +28,7 @@ import javax.swing.JOptionPane;
|
|||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
@@ -116,7 +118,10 @@ public class QuestUtilUnlockSets {
|
|||||||
*
|
*
|
||||||
* @return unmodifiable list, assorted sets that are not currently in the format.
|
* @return unmodifiable list, assorted sets that are not currently in the format.
|
||||||
*/
|
*/
|
||||||
private static final List<CardEdition> emptyEditions = Collections.unmodifiableList(new ArrayList<CardEdition>());
|
private static final List<CardEdition> emptyEditions = ImmutableList.<CardEdition>of();
|
||||||
|
private static final EnumSet<CardEdition.Type> unlockableSetTypes =
|
||||||
|
EnumSet.of(CardEdition.Type.CORE, CardEdition.Type.EXPANSION, CardEdition.Type.REPRINT, CardEdition.Type.STARTER);
|
||||||
|
|
||||||
private static List<CardEdition> getUnlockableEditions(final QuestController qData) {
|
private static List<CardEdition> getUnlockableEditions(final QuestController qData) {
|
||||||
if (qData.getFormat() == null || !qData.getFormat().canUnlockSets()) {
|
if (qData.getFormat() == null || !qData.getFormat().canUnlockSets()) {
|
||||||
return emptyEditions;
|
return emptyEditions;
|
||||||
@@ -127,23 +132,19 @@ public class QuestUtilUnlockSets {
|
|||||||
}
|
}
|
||||||
List<CardEdition> options = new ArrayList<CardEdition>();
|
List<CardEdition> options = new ArrayList<CardEdition>();
|
||||||
|
|
||||||
// Sort current sets by index
|
// Sort current sets by date
|
||||||
List<CardEdition> allowedSets = Lists.newArrayList(Iterables.transform(qData.getFormat().getAllowedSetCodes(), Singletons.getModel().getEditions().FN_EDITION_BY_CODE));
|
List<CardEdition> allowedSets = Lists.newArrayList(Iterables.transform(qData.getFormat().getAllowedSetCodes(), Singletons.getModel().getEditions().FN_EDITION_BY_CODE));
|
||||||
Collections.sort(allowedSets);
|
Collections.sort(allowedSets);
|
||||||
|
|
||||||
// Sort unlockable sets by index
|
// Sort unlockable sets by date
|
||||||
List<CardEdition> excludedSets = Lists.newArrayList(Iterables.transform(qData.getFormat().getLockedSets(), Singletons.getModel().getEditions().FN_EDITION_BY_CODE));
|
List<CardEdition> excludedSets = Lists.newArrayList(Iterables.transform(qData.getFormat().getLockedSets(), Singletons.getModel().getEditions().FN_EDITION_BY_CODE));
|
||||||
Collections.sort(excludedSets);
|
Collections.sort(excludedSets);
|
||||||
|
|
||||||
// get a number of sets between an excluded and any included set
|
// get a number of sets between an excluded and any included set
|
||||||
List<ImmutablePair<CardEdition, Long>> excludedWithDistances = new ArrayList<ImmutablePair<CardEdition, Long>>();
|
List<ImmutablePair<CardEdition, Long>> excludedWithDistances = new ArrayList<ImmutablePair<CardEdition, Long>>();
|
||||||
for (CardEdition ex : excludedSets) {
|
for (CardEdition ex : excludedSets) {
|
||||||
switch (ex.getType()) {
|
if (!unlockableSetTypes.contains(ex.getType())) // don't add non-traditional sets
|
||||||
case CORE: case EXPANSION: case REPRINT: case STARTER: break;
|
|
||||||
default:
|
|
||||||
// don't add non-traditional sets
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
long distance = Integer.MAX_VALUE;
|
long distance = Integer.MAX_VALUE;
|
||||||
for (CardEdition in : allowedSets) {
|
for (CardEdition in : allowedSets) {
|
||||||
long d = Math.abs(ex.getDate().getTime() - in.getDate().getTime());
|
long d = Math.abs(ex.getDate().getTime() - in.getDate().getTime());
|
||||||
|
|||||||
Reference in New Issue
Block a user