Merge branch 'master' into 'master'

Optimize some code paths in Forge (card type logic and property get with default).

See merge request core-developers/forge!2334
This commit is contained in:
Myrd
2019-12-20 15:47:44 +00:00
8 changed files with 33 additions and 33 deletions

View File

@@ -57,6 +57,7 @@ import forge.util.storage.StorageBase;
import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* The default Model implementation for Forge.
@@ -259,31 +260,31 @@ public final class FModel {
if (!CardType.Constant.LOADED.isSet()) {
final List<String> typeListFile = FileUtil.readFile(ForgeConstants.TYPE_LIST_FILE);
List<String> tList = null;
Set<String> addTo = null;
for (final String s : typeListFile) {
if (s.equals("[BasicTypes]")) {
tList = CardType.Constant.BASIC_TYPES;
addTo = CardType.Constant.BASIC_TYPES;
} else if (s.equals("[LandTypes]")) {
tList = CardType.Constant.LAND_TYPES;
addTo = CardType.Constant.LAND_TYPES;
} else if (s.equals("[CreatureTypes]")) {
tList = CardType.Constant.CREATURE_TYPES;
addTo = CardType.Constant.CREATURE_TYPES;
} else if (s.equals("[SpellTypes]")) {
tList = CardType.Constant.SPELL_TYPES;
addTo = CardType.Constant.SPELL_TYPES;
} else if (s.equals("[EnchantmentTypes]")) {
tList = CardType.Constant.ENCHANTMENT_TYPES;
addTo = CardType.Constant.ENCHANTMENT_TYPES;
} else if (s.equals("[ArtifactTypes]")) {
tList = CardType.Constant.ARTIFACT_TYPES;
addTo = CardType.Constant.ARTIFACT_TYPES;
} else if (s.equals("[WalkerTypes]")) {
tList = CardType.Constant.WALKER_TYPES;
addTo = CardType.Constant.WALKER_TYPES;
} else if (s.length() > 1) {
if (tList != null) {
if (addTo != null) {
if (s.contains(":")) {
String[] k = s.split(":");
tList.add(k[0]);
addTo.add(k[0]);
CardType.Constant.pluralTypes.put(k[0], k[1]);
} else {
tList.add(s);
addTo.add(s);
}
}
}

View File

@@ -1034,7 +1034,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
* java.lang.String, java.util.List, java.util.List, java.lang.String)
*/
@Override
public String chooseSomeType(final String kindOfType, final SpellAbility sa, final List<String> validTypes,
public String chooseSomeType(final String kindOfType, final SpellAbility sa, final Collection<String> validTypes,
final List<String> invalidTypes, final boolean isOptional) {
final List<String> types = Lists.newArrayList(validTypes);
if (invalidTypes != null && !invalidTypes.isEmpty()) {