forked from External/mage
* Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
This commit is contained in:
parent
3dd6836559
commit
de4befb9c2
22 changed files with 204 additions and 124 deletions
|
|
@ -1,53 +0,0 @@
|
|||
|
||||
|
||||
package mage.server.game;
|
||||
|
||||
import mage.cards.decks.DeckValidator;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public enum DeckValidatorFactory {
|
||||
|
||||
instance;
|
||||
private static final Logger logger = Logger.getLogger(DeckValidatorFactory.class);
|
||||
|
||||
private final Map<String, Class> deckTypes = new LinkedHashMap<>();
|
||||
|
||||
|
||||
|
||||
private DeckValidatorFactory() {}
|
||||
|
||||
public DeckValidator createDeckValidator(String deckType) {
|
||||
|
||||
DeckValidator validator;
|
||||
try {
|
||||
Constructor<?> con = deckTypes.get(deckType).getConstructor();
|
||||
validator = (DeckValidator)con.newInstance();
|
||||
} catch (Exception ex) {
|
||||
logger.fatal("DeckValidatorFactory error", ex);
|
||||
return null;
|
||||
}
|
||||
logger.debug("Deck validator created: " + validator.getName());
|
||||
|
||||
return validator;
|
||||
}
|
||||
|
||||
public Set<String> getDeckTypes() {
|
||||
return deckTypes.keySet();
|
||||
}
|
||||
|
||||
public void addDeckType(String name, Class deckType) {
|
||||
if (deckType != null) {
|
||||
this.deckTypes.put(name, deckType);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue