mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Replace tabs with spaces
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -15996,6 +15996,7 @@ forge-m-base/src/forge/player/LobbyPlayerHuman.java -text
|
||||
forge-m-base/src/forge/player/PlayerControllerHuman.java -text
|
||||
forge-m-base/src/forge/screens/FScreen.java -text
|
||||
forge-m-base/src/forge/screens/LaunchScreen.java -text
|
||||
forge-m-base/src/forge/screens/SplashScreen.java -text
|
||||
forge-m-base/src/forge/screens/constructed/ConstructedScreen.java -text
|
||||
forge-m-base/src/forge/screens/draft/DraftScreen.java -text
|
||||
forge-m-base/src/forge/screens/guantlet/GuantletScreen.java -text
|
||||
@@ -16008,6 +16009,7 @@ forge-m-base/src/forge/toolbox/FButton.java -text
|
||||
forge-m-base/src/forge/toolbox/FContainer.java -text
|
||||
forge-m-base/src/forge/toolbox/FDisplayObject.java -text
|
||||
forge-m-base/src/forge/toolbox/FLabel.java -text
|
||||
forge-m-base/src/forge/toolbox/FProgressBar.java -text
|
||||
forge-m-base/src/forge/utils/Utils.java -text
|
||||
forge-m-desktop/.classpath -text
|
||||
forge-m-desktop/.project -text
|
||||
|
||||
@@ -23,6 +23,9 @@ import forge.assets.FSkin;
|
||||
import forge.assets.FSkinColor;
|
||||
import forge.assets.FSkinFont;
|
||||
import forge.assets.FImage;
|
||||
import forge.gui.toolbox.FProgressBar;
|
||||
import forge.gui.workshop.CardScriptInfo;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.screens.FScreen;
|
||||
import forge.screens.home.HomeScreen;
|
||||
import forge.toolbox.FDisplayObject;
|
||||
@@ -51,6 +54,28 @@ public class Forge implements ApplicationListener {
|
||||
Gdx.graphics.setContinuousRendering(false); //save power consumption by disabling continuous rendering
|
||||
Gdx.input.setInputProcessor(new FGestureDetector());
|
||||
|
||||
CardStorageReader.ProgressObserver progressBarBridge = new CardStorageReader.ProgressObserver() {
|
||||
FProgressBar bar = view.getSplash().getProgressBar();
|
||||
@Override
|
||||
public void setOperationName(final String name, final boolean usePercents) {
|
||||
FThreads.invokeInEdtLater(new Runnable() { @Override public void run() {
|
||||
bar.setDescription(name);
|
||||
bar.setPercentMode(usePercents);
|
||||
} });
|
||||
}
|
||||
|
||||
@Override
|
||||
public void report(int current, int total) {
|
||||
if ( total != bar.getMaximum())
|
||||
bar.setMaximum(total);
|
||||
bar.setValueThreadSafe(current);
|
||||
}
|
||||
};
|
||||
|
||||
// Loads all cards (using progress bar).
|
||||
final CardStorageReader reader = new CardStorageReader(NewConstants.CARD_DATA_DIR, progressBarBridge, CardScriptInfo.readerObserver);
|
||||
magicDb = new StaticData(reader, "res/editions", "res/blockdata");
|
||||
|
||||
FSkin.loadLight("journeyman", true);
|
||||
FSkin.loadFull(true);
|
||||
openScreen(new HomeScreen());
|
||||
|
||||
@@ -5,5 +5,5 @@ import forge.Forge.Graphics;
|
||||
public interface FImage {
|
||||
float getSourceWidth();
|
||||
float getSourceHeight();
|
||||
void draw(Graphics g, float x, float y, float w, float h);
|
||||
void draw(Graphics g, float x, float y, float w, float h);
|
||||
}
|
||||
|
||||
@@ -59,468 +59,468 @@ public class PlayerControllerHuman extends PlayerController {
|
||||
super(game0, p, lp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities,
|
||||
MouseEvent triggerEvent) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSpellAbilityForFree(SpellAbility copySA,
|
||||
boolean mayChoseNewTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSpellAbilityNoStack(SpellAbility effectSA,
|
||||
boolean mayChoseNewTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PaperCard> sideboard(Deck deck, GameType gameType) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PaperCard> chooseCardsYouWonToAddToDeck(List<PaperCard> losses) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Card, Integer> assignCombatDamage(Card attacker,
|
||||
List<Card> blockers, int damageDealt, GameEntity defender,
|
||||
boolean overrideOrder) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer announceRequirements(SpellAbility ability, String announce,
|
||||
boolean allowZero) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> choosePermanentsToSacrifice(SpellAbility sa, int min,
|
||||
int max, List<Card> validTargets, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> choosePermanentsToDestroy(SpellAbility sa, int min,
|
||||
int max, List<Card> validTargets, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TargetChoices chooseNewTargetsFor(SpellAbility ability) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseTargetsFor(SpellAbility currentAbility) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<SpellAbilityStackInstance, GameObject> chooseTarget(
|
||||
SpellAbility sa,
|
||||
List<Pair<SpellAbilityStackInstance, GameObject>> allTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsForEffect(List<Card> sourceList,
|
||||
SpellAbility sa, String title, int min, int max, boolean isOptional) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends GameEntity> T chooseSingleEntityForEffect(
|
||||
Collection<T> sourceList, SpellAbility sa, String title,
|
||||
boolean isOptional, Player relatedPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellAbility chooseSingleSpellForEffect(List<SpellAbility> spells,
|
||||
SpellAbility sa, String title) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode,
|
||||
String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmStaticApplication(Card hostCard, GameEntity affected,
|
||||
String logic, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmTrigger(SpellAbility sa, Trigger regtrig,
|
||||
Map<String, String> triggerParams, boolean isMandatory) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getWillPlayOnFirstTurn(boolean isFirstGame) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderBlockers(Card attacker, List<Card> blockers) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderAttackers(Card blocker, List<Card> attackers) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal(Collection<Card> cards, ZoneType zone, Player owner,
|
||||
String messagePrefix) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyOfValue(SpellAbility saSource, GameObject realtedTarget,
|
||||
String value) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutablePair<List<Card>, List<Card>> arrangeForScry(List<Card> topN) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean willPutCardOnTop(Card c) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderMoveToZoneList(List<Card> cards,
|
||||
ZoneType destinationZone) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardFrom(Player playerDiscard,
|
||||
SpellAbility sa, List<Card> validCards, int min, int max) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playMiracle(SpellAbility miracle, Card card) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDelve(int colorLessAmount, List<Card> grave) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToRevealFromHand(int min, int max,
|
||||
List<Card> valid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardUnlessType(int min, List<Card> hand,
|
||||
String param, SpellAbility sa) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SpellAbility> chooseSaToActivateFromOpeningHand(
|
||||
List<SpellAbility> usableFromOpeningHand) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mana chooseManaFromPool(List<Mana> manaChoices) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseSomeType(String kindOfType, SpellAbility sa,
|
||||
List<String> validTypes, List<String> invalidTypes,
|
||||
boolean isOptional) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<CounterType, String> chooseAndRemoveOrPutCounter(
|
||||
Card cardWithCounter) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmReplacementEffect(
|
||||
ReplacementEffect replacementEffect, SpellAbility effectSA,
|
||||
String question) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void declareAttackers(Player attacker, Combat combat) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void declareBlockers(Player defender, Combat combat) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellAbility chooseSpellAbilityToPlay() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playChosenSpellAbility(SpellAbility sa) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardToMaximumHandSize(int numDiscard) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payManaOptional(Card card, Cost cost, SpellAbility sa,
|
||||
String prompt, ManaPaymentPurpose purpose) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int chooseNumber(SpellAbility sa, String title, int min, int max) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int chooseNumber(SpellAbility sa, String title,
|
||||
List<Integer> values, Player relatedPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseBinary(SpellAbility sa, String question,
|
||||
BinaryChoiceType kindOfChoice, Boolean defaultChioce) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseFlipResult(SpellAbility sa, Player flipper,
|
||||
boolean[] results, boolean call) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Card chooseProtectionShield(GameEntity entityBeingDamaged,
|
||||
List<String> options, Map<String, Card> choiceMap) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AbilitySub> chooseModeForAbility(SpellAbility sa, int min,
|
||||
int num) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte chooseColor(String message, SpellAbility sa, ColorSet colors) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte chooseColorAllowColorless(String message, Card c,
|
||||
ColorSet colors) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PaperCard chooseSinglePaperCard(SpellAbility sa, String message,
|
||||
Predicate<PaperCard> cpp, String name) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> chooseColors(String message, SpellAbility sa, int min,
|
||||
int max, List<String> options) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CounterType chooseCounterType(Collection<CounterType> options,
|
||||
SpellAbility sa, String prompt) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmPayment(CostPart costPart, String string) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReplacementEffect chooseSingleReplacementEffect(String prompt,
|
||||
List<ReplacementEffect> possibleReplacers,
|
||||
HashMap<String, Object> runParams) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseProtectionType(String string, SpellAbility sa,
|
||||
List<String> choices) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CardShields chooseRegenerationShield(Card c) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payCostToPreventEffect(Cost cost, SpellAbility sa,
|
||||
boolean alreadyPaid, List<Player> allPayers) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playTrigger(Card host, WrappedAbility wrapperAbility,
|
||||
boolean isMandatory) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean playSaFromPlayEffect(SpellAbility tgtSA) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<GameEntity, CounterType> chooseProliferation() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseCardsPile(SpellAbility sa, List<Card> pile1,
|
||||
List<Card> pile2, boolean faceUp) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void revealAnte(String message,
|
||||
Multimap<Player, PaperCard> removedAnteCards) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payManaCost(ManaCost toPay, CostPartMana costPartMana,
|
||||
SpellAbility sa, String prompt, boolean isActivatedAbility) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Card, ManaCostShard> chooseCardsForConvoke(SpellAbility sa,
|
||||
ManaCost manaCost, List<Card> untappedCreats) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseCardName(SpellAbility sa, Predicate<PaperCard> cpp,
|
||||
String valid, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Card chooseSingleCardForZoneChange(ZoneType destination,
|
||||
List<ZoneType> origin, SpellAbility sa, List<Card> fetchList,
|
||||
String selectPrompt, boolean b, Player decider) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities,
|
||||
MouseEvent triggerEvent) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSpellAbilityForFree(SpellAbility copySA,
|
||||
boolean mayChoseNewTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSpellAbilityNoStack(SpellAbility effectSA,
|
||||
boolean mayChoseNewTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PaperCard> sideboard(Deck deck, GameType gameType) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PaperCard> chooseCardsYouWonToAddToDeck(List<PaperCard> losses) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Card, Integer> assignCombatDamage(Card attacker,
|
||||
List<Card> blockers, int damageDealt, GameEntity defender,
|
||||
boolean overrideOrder) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer announceRequirements(SpellAbility ability, String announce,
|
||||
boolean allowZero) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> choosePermanentsToSacrifice(SpellAbility sa, int min,
|
||||
int max, List<Card> validTargets, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> choosePermanentsToDestroy(SpellAbility sa, int min,
|
||||
int max, List<Card> validTargets, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TargetChoices chooseNewTargetsFor(SpellAbility ability) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseTargetsFor(SpellAbility currentAbility) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<SpellAbilityStackInstance, GameObject> chooseTarget(
|
||||
SpellAbility sa,
|
||||
List<Pair<SpellAbilityStackInstance, GameObject>> allTargets) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsForEffect(List<Card> sourceList,
|
||||
SpellAbility sa, String title, int min, int max, boolean isOptional) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends GameEntity> T chooseSingleEntityForEffect(
|
||||
Collection<T> sourceList, SpellAbility sa, String title,
|
||||
boolean isOptional, Player relatedPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellAbility chooseSingleSpellForEffect(List<SpellAbility> spells,
|
||||
SpellAbility sa, String title) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode,
|
||||
String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmStaticApplication(Card hostCard, GameEntity affected,
|
||||
String logic, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmTrigger(SpellAbility sa, Trigger regtrig,
|
||||
Map<String, String> triggerParams, boolean isMandatory) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getWillPlayOnFirstTurn(boolean isFirstGame) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderBlockers(Card attacker, List<Card> blockers) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderAttackers(Card blocker, List<Card> attackers) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal(Collection<Card> cards, ZoneType zone, Player owner,
|
||||
String messagePrefix) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyOfValue(SpellAbility saSource, GameObject realtedTarget,
|
||||
String value) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutablePair<List<Card>, List<Card>> arrangeForScry(List<Card> topN) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean willPutCardOnTop(Card c) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> orderMoveToZoneList(List<Card> cards,
|
||||
ZoneType destinationZone) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardFrom(Player playerDiscard,
|
||||
SpellAbility sa, List<Card> validCards, int min, int max) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playMiracle(SpellAbility miracle, Card card) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDelve(int colorLessAmount, List<Card> grave) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToRevealFromHand(int min, int max,
|
||||
List<Card> valid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardUnlessType(int min, List<Card> hand,
|
||||
String param, SpellAbility sa) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SpellAbility> chooseSaToActivateFromOpeningHand(
|
||||
List<SpellAbility> usableFromOpeningHand) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mana chooseManaFromPool(List<Mana> manaChoices) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseSomeType(String kindOfType, SpellAbility sa,
|
||||
List<String> validTypes, List<String> invalidTypes,
|
||||
boolean isOptional) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<CounterType, String> chooseAndRemoveOrPutCounter(
|
||||
Card cardWithCounter) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmReplacementEffect(
|
||||
ReplacementEffect replacementEffect, SpellAbility effectSA,
|
||||
String question) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void declareAttackers(Player attacker, Combat combat) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void declareBlockers(Player defender, Combat combat) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellAbility chooseSpellAbilityToPlay() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playChosenSpellAbility(SpellAbility sa) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsToDiscardToMaximumHandSize(int numDiscard) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payManaOptional(Card card, Cost cost, SpellAbility sa,
|
||||
String prompt, ManaPaymentPurpose purpose) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int chooseNumber(SpellAbility sa, String title, int min, int max) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int chooseNumber(SpellAbility sa, String title,
|
||||
List<Integer> values, Player relatedPlayer) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseBinary(SpellAbility sa, String question,
|
||||
BinaryChoiceType kindOfChoice, Boolean defaultChioce) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseFlipResult(SpellAbility sa, Player flipper,
|
||||
boolean[] results, boolean call) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Card chooseProtectionShield(GameEntity entityBeingDamaged,
|
||||
List<String> options, Map<String, Card> choiceMap) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AbilitySub> chooseModeForAbility(SpellAbility sa, int min,
|
||||
int num) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte chooseColor(String message, SpellAbility sa, ColorSet colors) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte chooseColorAllowColorless(String message, Card c,
|
||||
ColorSet colors) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PaperCard chooseSinglePaperCard(SpellAbility sa, String message,
|
||||
Predicate<PaperCard> cpp, String name) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> chooseColors(String message, SpellAbility sa, int min,
|
||||
int max, List<String> options) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CounterType chooseCounterType(Collection<CounterType> options,
|
||||
SpellAbility sa, String prompt) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmPayment(CostPart costPart, String string) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReplacementEffect chooseSingleReplacementEffect(String prompt,
|
||||
List<ReplacementEffect> possibleReplacers,
|
||||
HashMap<String, Object> runParams) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseProtectionType(String string, SpellAbility sa,
|
||||
List<String> choices) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CardShields chooseRegenerationShield(Card c) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payCostToPreventEffect(Cost cost, SpellAbility sa,
|
||||
boolean alreadyPaid, List<Player> allPayers) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playTrigger(Card host, WrappedAbility wrapperAbility,
|
||||
boolean isMandatory) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean playSaFromPlayEffect(SpellAbility tgtSA) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<GameEntity, CounterType> chooseProliferation() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean chooseCardsPile(SpellAbility sa, List<Card> pile1,
|
||||
List<Card> pile2, boolean faceUp) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void revealAnte(String message,
|
||||
Multimap<Player, PaperCard> removedAnteCards) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean payManaCost(ManaCost toPay, CostPartMana costPartMana,
|
||||
SpellAbility sa, String prompt, boolean isActivatedAbility) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Card, ManaCostShard> chooseCardsForConvoke(SpellAbility sa,
|
||||
ManaCost manaCost, List<Card> untappedCreats) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseCardName(SpellAbility sa, Predicate<PaperCard> cpp,
|
||||
String valid, String message) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Card chooseSingleCardForZoneChange(ZoneType destination,
|
||||
List<ZoneType> origin, SpellAbility sa, List<Card> fetchList,
|
||||
String selectPrompt, boolean b, Player decider) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}*/
|
||||
|
||||
@@ -21,34 +21,34 @@ public abstract class FScreen extends FContainer {
|
||||
private final FLabel btnBack, lblHeader, btnMenu;
|
||||
|
||||
protected FScreen(boolean showBackButton, String headerCaption, boolean showMenuButton) {
|
||||
if (showBackButton) {
|
||||
btnBack = add(new FLabel.ButtonBuilder().icon(FSkinImage.BACK).command(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.back();
|
||||
}
|
||||
}).build());
|
||||
}
|
||||
else {
|
||||
btnBack = null;
|
||||
}
|
||||
if (headerCaption != null) {
|
||||
lblHeader = add(new FLabel.Builder().text(headerCaption).fontSize(16).align(HAlignment.CENTER).build());
|
||||
}
|
||||
else {
|
||||
lblHeader = null;
|
||||
}
|
||||
if (showMenuButton) {
|
||||
btnMenu = add(new FLabel.ButtonBuilder().icon(FSkinImage.FAVICON).command(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
showMenu();
|
||||
}
|
||||
}).build());
|
||||
}
|
||||
else {
|
||||
btnMenu = null;
|
||||
}
|
||||
if (showBackButton) {
|
||||
btnBack = add(new FLabel.ButtonBuilder().icon(FSkinImage.BACK).command(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.back();
|
||||
}
|
||||
}).build());
|
||||
}
|
||||
else {
|
||||
btnBack = null;
|
||||
}
|
||||
if (headerCaption != null) {
|
||||
lblHeader = add(new FLabel.Builder().text(headerCaption).fontSize(16).align(HAlignment.CENTER).build());
|
||||
}
|
||||
else {
|
||||
lblHeader = null;
|
||||
}
|
||||
if (showMenuButton) {
|
||||
btnMenu = add(new FLabel.ButtonBuilder().icon(FSkinImage.FAVICON).command(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
showMenu();
|
||||
}
|
||||
}).build());
|
||||
}
|
||||
else {
|
||||
btnMenu = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void onOpen() {
|
||||
@@ -63,54 +63,54 @@ public abstract class FScreen extends FContainer {
|
||||
}
|
||||
|
||||
public void showMenu() {
|
||||
buildMenu();
|
||||
buildMenu();
|
||||
}
|
||||
|
||||
protected void buildMenu() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final void doLayout(float width, float height) {
|
||||
float headerX = 0;
|
||||
float insets = 0;
|
||||
float headerWidth = width;
|
||||
float buttonWidth = Utils.AVG_FINGER_WIDTH;
|
||||
float headerHeight = Utils.AVG_FINGER_HEIGHT;
|
||||
float headerX = 0;
|
||||
float insets = 0;
|
||||
float headerWidth = width;
|
||||
float buttonWidth = Utils.AVG_FINGER_WIDTH;
|
||||
float headerHeight = Utils.AVG_FINGER_HEIGHT;
|
||||
|
||||
if (btnBack != null) {
|
||||
btnBack.setBounds(insets, insets, buttonWidth, headerHeight);
|
||||
headerX = btnBack.getWidth();
|
||||
headerWidth -= headerX;
|
||||
}
|
||||
if (btnMenu != null) {
|
||||
btnMenu.setBounds(width - buttonWidth - insets, insets, buttonWidth, headerHeight);
|
||||
headerWidth -= btnMenu.getWidth();
|
||||
}
|
||||
if (lblHeader != null) {
|
||||
lblHeader.setBounds(headerX, 0, headerWidth, headerHeight);
|
||||
if (btnBack != null) {
|
||||
btnBack.setBounds(insets, insets, buttonWidth, headerHeight);
|
||||
headerX = btnBack.getWidth();
|
||||
headerWidth -= headerX;
|
||||
}
|
||||
if (btnMenu != null) {
|
||||
btnMenu.setBounds(width - buttonWidth - insets, insets, buttonWidth, headerHeight);
|
||||
headerWidth -= btnMenu.getWidth();
|
||||
}
|
||||
if (lblHeader != null) {
|
||||
lblHeader.setBounds(headerX, 0, headerWidth, headerHeight);
|
||||
|
||||
doLayout(headerHeight, width, height);
|
||||
}
|
||||
else {
|
||||
doLayout(0, width, height);
|
||||
}
|
||||
doLayout(headerHeight, width, height);
|
||||
}
|
||||
else {
|
||||
doLayout(0, width, height);
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void doLayout(float startY, float width, float height);
|
||||
|
||||
@Override
|
||||
protected void drawBackground(Graphics g) {
|
||||
float w = getWidth();
|
||||
float h = getHeight();
|
||||
float w = getWidth();
|
||||
float h = getHeight();
|
||||
g.drawImage(FSkinImage.BG_TEXTURE, 0, 0, w, h);
|
||||
g.fillRect(clrTheme, 0, 0, w, h);
|
||||
|
||||
if (lblHeader != null) { //draw custom background behind header label
|
||||
float x = lblHeader.getLeft() + 6;
|
||||
float y = lblHeader.getTop() + 1;
|
||||
w -= x;
|
||||
h = lblHeader.getHeight() - 2;
|
||||
float x = lblHeader.getLeft() + 6;
|
||||
float y = lblHeader.getTop() + 1;
|
||||
w -= x;
|
||||
h = lblHeader.getHeight() - 2;
|
||||
g.fillRect(d80, x, y + 5, w, h - 5);
|
||||
g.fillRect(a100, x + 5, y, w - 5, h - 5);
|
||||
g.drawRect(d40, x + 5, y, w - 5, h - 5);
|
||||
|
||||
@@ -15,36 +15,36 @@ import forge.game.player.RegisteredPlayer;
|
||||
import forge.toolbox.FDisplayObject;
|
||||
|
||||
public abstract class LaunchScreen extends FScreen {
|
||||
private final StartButton btnStart;
|
||||
private final StartButton btnStart;
|
||||
|
||||
public LaunchScreen(String headerCaption) {
|
||||
super(true, headerCaption, true);
|
||||
btnStart = add(new StartButton());
|
||||
super(true, headerCaption, true);
|
||||
btnStart = add(new StartButton());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final void doLayout(float startY, float width, float height) {
|
||||
float imageWidth = FSkinImage.BTN_START_UP.getSourceWidth();
|
||||
float imageHeight = FSkinImage.BTN_START_UP.getSourceHeight();
|
||||
float padding = imageHeight * 0.1f;
|
||||
float imageWidth = FSkinImage.BTN_START_UP.getSourceWidth();
|
||||
float imageHeight = FSkinImage.BTN_START_UP.getSourceHeight();
|
||||
float padding = imageHeight * 0.1f;
|
||||
|
||||
btnStart.setBounds((width - imageWidth) / 2, height - imageHeight - padding, imageWidth, imageHeight);
|
||||
btnStart.setBounds((width - imageWidth) / 2, height - imageHeight - padding, imageWidth, imageHeight);
|
||||
|
||||
doLayoutAboveBtnStart(startY, width, height - imageHeight - 2 * padding);
|
||||
doLayoutAboveBtnStart(startY, width, height - imageHeight - 2 * padding);
|
||||
}
|
||||
|
||||
protected abstract void doLayoutAboveBtnStart(float startY, float width, float height);
|
||||
protected abstract boolean buildLaunchParams(LaunchParams launchParams);
|
||||
|
||||
protected class LaunchParams {
|
||||
public GameType gameType;
|
||||
public final List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
||||
public final List<GameType> appliedVariants = new ArrayList<GameType>();
|
||||
public GameType gameType;
|
||||
public final List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
||||
public final List<GameType> appliedVariants = new ArrayList<GameType>();
|
||||
}
|
||||
|
||||
private class StartButton extends FDisplayObject {
|
||||
private boolean pressed;
|
||||
private boolean creatingMatch;
|
||||
private boolean pressed;
|
||||
private boolean creatingMatch;
|
||||
|
||||
/**
|
||||
* Instantiates a new FButton.
|
||||
@@ -60,25 +60,25 @@ public abstract class LaunchScreen extends FScreen {
|
||||
|
||||
@Override
|
||||
public final boolean touchUp(float x, float y) {
|
||||
pressed = false;
|
||||
pressed = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean tap(float x, float y, int count) {
|
||||
if (count == 1 && !creatingMatch) {
|
||||
creatingMatch = true; //ensure user doesn't create multiple matches by tapping multiple times
|
||||
creatingMatch = true; //ensure user doesn't create multiple matches by tapping multiple times
|
||||
|
||||
LaunchParams launchParams = new LaunchParams();
|
||||
if (buildLaunchParams(launchParams)) {
|
||||
if (launchParams.gameType == null) {
|
||||
throw new RuntimeException("Must set launchParams.gameType");
|
||||
}
|
||||
if (launchParams.players.isEmpty()) {
|
||||
throw new RuntimeException("Must add at least one player to launchParams.players");
|
||||
}
|
||||
LaunchParams launchParams = new LaunchParams();
|
||||
if (buildLaunchParams(launchParams)) {
|
||||
if (launchParams.gameType == null) {
|
||||
throw new RuntimeException("Must set launchParams.gameType");
|
||||
}
|
||||
if (launchParams.players.isEmpty()) {
|
||||
throw new RuntimeException("Must add at least one player to launchParams.players");
|
||||
}
|
||||
|
||||
boolean useRandomFoil = false; //Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
boolean useRandomFoil = false; //Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
|
||||
for (RegisteredPlayer rp : launchParams.players) {
|
||||
rp.setRandomFoil(useRandomFoil);
|
||||
}
|
||||
@@ -92,17 +92,17 @@ public abstract class LaunchScreen extends FScreen {
|
||||
rules.canCloneUseTargetsImage = false; //Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
|
||||
|
||||
Forge.openScreen(new MatchScreen(new Match(rules, launchParams.players)));
|
||||
}
|
||||
}
|
||||
|
||||
creatingMatch = false;
|
||||
creatingMatch = false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
g.drawImage(pressed ? FSkinImage.BTN_START_DOWN : FSkinImage.BTN_START_UP,
|
||||
0, 0, getWidth(), getHeight());
|
||||
g.drawImage(pressed ? FSkinImage.BTN_START_DOWN : FSkinImage.BTN_START_UP,
|
||||
0, 0, getWidth(), getHeight());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
27
forge-m-base/src/forge/screens/SplashScreen.java
Normal file
27
forge-m-base/src/forge/screens/SplashScreen.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package forge.screens;
|
||||
|
||||
import forge.screens.FScreen;
|
||||
import forge.toolbox.FProgressBar;
|
||||
|
||||
public abstract class SplashScreen extends FScreen {
|
||||
private static SplashScreen splashScreen;
|
||||
|
||||
public static FProgressBar getProgressBar(String desc) {
|
||||
return splashScreen.progressBar;
|
||||
}
|
||||
|
||||
private FProgressBar progressBar = new FProgressBar();
|
||||
|
||||
public SplashScreen() {
|
||||
super(false, null, false);
|
||||
if (splashScreen != null) {
|
||||
throw new RuntimeException("Cannot initialize SplashScreen more than once");
|
||||
}
|
||||
splashScreen = this;
|
||||
add(progressBar);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final void doLayout(float startY, float width, float height) {
|
||||
}
|
||||
}
|
||||
@@ -10,32 +10,32 @@ import forge.utils.Utils;
|
||||
|
||||
public class ConstructedScreen extends LaunchScreen {
|
||||
public ConstructedScreen() {
|
||||
super("Constructed");
|
||||
super("Constructed");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Constructed;
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Constructed;
|
||||
|
||||
//TODO: Allow picking decks
|
||||
Deck humanDeck = Utils.generateRandomDeck(2);
|
||||
LobbyPlayerHuman humanLobbyPlayer = new LobbyPlayerHuman("Human");
|
||||
RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck);
|
||||
humanRegisteredPlayer.setPlayer(humanLobbyPlayer);
|
||||
launchParams.players.add(humanRegisteredPlayer);
|
||||
//TODO: Allow picking decks
|
||||
Deck humanDeck = Utils.generateRandomDeck(2);
|
||||
LobbyPlayerHuman humanLobbyPlayer = new LobbyPlayerHuman("Human");
|
||||
RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck);
|
||||
humanRegisteredPlayer.setPlayer(humanLobbyPlayer);
|
||||
launchParams.players.add(humanRegisteredPlayer);
|
||||
|
||||
Deck aiDeck = Utils.generateRandomDeck(2);
|
||||
LobbyPlayerAi aiLobbyPlayer = new LobbyPlayerAi("AI Player");
|
||||
RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck);
|
||||
aiRegisteredPlayer.setPlayer(aiLobbyPlayer);
|
||||
launchParams.players.add(aiRegisteredPlayer);
|
||||
Deck aiDeck = Utils.generateRandomDeck(2);
|
||||
LobbyPlayerAi aiLobbyPlayer = new LobbyPlayerAi("AI Player");
|
||||
RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck);
|
||||
aiRegisteredPlayer.setPlayer(aiLobbyPlayer);
|
||||
launchParams.players.add(aiRegisteredPlayer);
|
||||
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,18 +5,18 @@ import forge.game.GameType;
|
||||
|
||||
public class DraftScreen extends LaunchScreen {
|
||||
public DraftScreen() {
|
||||
super("Draft");
|
||||
super("Draft");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Draft;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Draft;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
|
||||
|
||||
public class GuantletScreen extends LaunchScreen {
|
||||
public GuantletScreen() {
|
||||
super("Guantlet");
|
||||
super("Guantlet");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Gauntlet;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Gauntlet;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,43 +21,43 @@ public class HomeScreen extends FScreen {
|
||||
private final ArrayList<FButton> buttons = new ArrayList<FButton>();
|
||||
|
||||
public HomeScreen() {
|
||||
super(false, null, false);
|
||||
super(false, null, false);
|
||||
|
||||
addButton("Constructed", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new ConstructedScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new ConstructedScreen());
|
||||
}
|
||||
});
|
||||
addButton("Draft", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new DraftScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new DraftScreen());
|
||||
}
|
||||
});
|
||||
addButton("Sealed", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new SealedScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new SealedScreen());
|
||||
}
|
||||
});
|
||||
addButton("Quest", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new QuestScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new QuestScreen());
|
||||
}
|
||||
});
|
||||
addButton("Guantlet", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new GuantletScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new GuantletScreen());
|
||||
}
|
||||
});
|
||||
addButton("Settings", new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new SettingsScreen());
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
Forge.openScreen(new SettingsScreen());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ import forge.screens.FScreen;
|
||||
import forge.game.Match;
|
||||
|
||||
public class MatchScreen extends FScreen {
|
||||
private final Match match;
|
||||
private final Match match;
|
||||
|
||||
public MatchScreen(Match match0) {
|
||||
super(false, null, true);
|
||||
this.match = match0;
|
||||
super(false, null, true);
|
||||
this.match = match0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
|
||||
|
||||
public class QuestScreen extends LaunchScreen {
|
||||
public QuestScreen() {
|
||||
super("Quest");
|
||||
super("Quest");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Quest;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Quest;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
|
||||
|
||||
public class SealedScreen extends LaunchScreen {
|
||||
public SealedScreen() {
|
||||
super("Sealed");
|
||||
super("Sealed");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@Override
|
||||
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Sealed;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
@Override
|
||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||
launchParams.gameType = GameType.Sealed;
|
||||
return false; //TODO: Support launching match
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import forge.screens.FScreen;
|
||||
public class SettingsScreen extends FScreen {
|
||||
|
||||
public SettingsScreen() {
|
||||
super(true, "Settings", true);
|
||||
super(true, "Settings", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -85,7 +85,7 @@ public class FButton extends FDisplayObject {
|
||||
}
|
||||
|
||||
public void setCommand(Runnable command0) {
|
||||
command = command0;
|
||||
command = command0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -107,7 +107,7 @@ public class FButton extends FDisplayObject {
|
||||
@Override
|
||||
public final boolean tap(float x, float y, int count) {
|
||||
if (count == 1 && command != null) {
|
||||
command.run();
|
||||
command.run();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -18,9 +18,9 @@ public abstract class FContainer extends FDisplayObject {
|
||||
public final void draw(Graphics g) {
|
||||
drawBackground(g);
|
||||
for (FDisplayObject child : children) {
|
||||
if (child.isVisible()) {
|
||||
g.draw(child);
|
||||
}
|
||||
if (child.isVisible()) {
|
||||
g.draw(child);
|
||||
}
|
||||
}
|
||||
drawOverlay(g);
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ import com.badlogic.gdx.math.Vector2;
|
||||
import forge.Forge.Graphics;
|
||||
|
||||
public abstract class FDisplayObject {
|
||||
private boolean visible = true;
|
||||
private boolean enabled = true;
|
||||
private boolean visible = true;
|
||||
private boolean enabled = true;
|
||||
private final Rectangle bounds = new Rectangle();
|
||||
|
||||
public void setPosition(float x, float y) {
|
||||
@@ -54,7 +54,7 @@ public abstract class FDisplayObject {
|
||||
return visible;
|
||||
}
|
||||
public void setVisible(boolean b0) {
|
||||
visible = b0;
|
||||
visible = b0;
|
||||
}
|
||||
|
||||
public abstract void draw(Graphics g);
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.assets.FSkinColor.Colors;
|
||||
import forge.assets.FSkinFont;
|
||||
|
||||
public class FLabel extends FDisplayObject {
|
||||
public static class Builder {
|
||||
public static class Builder {
|
||||
//========== Default values for FLabel are set here.
|
||||
private float bldIconScaleFactor = 0.8f;
|
||||
private int bldFontSize = 14;
|
||||
@@ -79,18 +79,18 @@ public class FLabel extends FDisplayObject {
|
||||
|
||||
// Call this using FLabel.Builder()...
|
||||
protected FLabel(final Builder b0) {
|
||||
iconScaleFactor = b0.bldIconScaleFactor;
|
||||
font = FSkinFont.get(b0.bldFontSize);
|
||||
alignment = b0.bldAlignment;
|
||||
insets = b0.bldInsets;
|
||||
selectable = b0.bldSelectable;
|
||||
selected = b0.bldSelected;
|
||||
opaque = b0.bldOpaque;
|
||||
iconInBackground = b0.bldIconInBackground;
|
||||
iconScaleAuto = b0.bldIconScaleAuto;
|
||||
text = b0.bldText != null ? b0.bldText : "";
|
||||
iconScaleFactor = b0.bldIconScaleFactor;
|
||||
font = FSkinFont.get(b0.bldFontSize);
|
||||
alignment = b0.bldAlignment;
|
||||
insets = b0.bldInsets;
|
||||
selectable = b0.bldSelectable;
|
||||
selected = b0.bldSelected;
|
||||
opaque = b0.bldOpaque;
|
||||
iconInBackground = b0.bldIconInBackground;
|
||||
iconScaleAuto = b0.bldIconScaleAuto;
|
||||
text = b0.bldText != null ? b0.bldText : "";
|
||||
icon = b0.bldIcon;
|
||||
command = b0.bldCommand;
|
||||
command = b0.bldCommand;
|
||||
setEnabled(b0.bldEnabled);
|
||||
}
|
||||
|
||||
@@ -135,45 +135,45 @@ public class FLabel extends FDisplayObject {
|
||||
|
||||
@Override
|
||||
public final boolean tap(float x, float y, int count) {
|
||||
boolean handled = false;
|
||||
if (selectable) {
|
||||
setSelected(!selected);
|
||||
handled = true;
|
||||
}
|
||||
if (command != null) {
|
||||
command.run();
|
||||
handled = true;
|
||||
boolean handled = false;
|
||||
if (selectable) {
|
||||
setSelected(!selected);
|
||||
handled = true;
|
||||
}
|
||||
return handled;
|
||||
if (command != null) {
|
||||
command.run();
|
||||
handled = true;
|
||||
}
|
||||
return handled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
float w = getWidth();
|
||||
float h = getHeight();
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
float w = getWidth();
|
||||
float h = getHeight();
|
||||
|
||||
if (pressed) {
|
||||
g.drawRect(d50, 0, 0, w, h);
|
||||
g.drawRect(d10, 1, 1, w - 2, h - 2);
|
||||
g.fillGradientRect(d50, d10, true, 2, 2, w - 4, h - 4);
|
||||
}
|
||||
else if (selected && (opaque || selectable)) {
|
||||
g.drawRect(d30, 0, 0, w, h);
|
||||
g.drawRect(l10, 1, 1, w - 2, h - 2);
|
||||
g.fillGradientRect(d30, l10, true, 2, 2, w - 4, h - 4);
|
||||
if (pressed) {
|
||||
g.drawRect(d50, 0, 0, w, h);
|
||||
g.drawRect(d10, 1, 1, w - 2, h - 2);
|
||||
g.fillGradientRect(d50, d10, true, 2, 2, w - 4, h - 4);
|
||||
}
|
||||
else if (opaque) {
|
||||
else if (selected && (opaque || selectable)) {
|
||||
g.drawRect(d30, 0, 0, w, h);
|
||||
g.drawRect(l10, 1, 1, w - 2, h - 2);
|
||||
g.fillGradientRect(d30, l10, true, 2, 2, w - 4, h - 4);
|
||||
}
|
||||
else if (opaque) {
|
||||
g.drawRect(d50, 0, 0, w, h);
|
||||
g.drawRect(l10, 1, 1, w - 2, h - 2);
|
||||
g.fillGradientRect(d10, l20, true, 2, 2, w - 4, h - 4);
|
||||
}
|
||||
}
|
||||
else if (selectable) {
|
||||
g.drawRect(l10, 0, 0, w, h);
|
||||
g.drawRect(l30, 1, 1, w - 2, h - 2);
|
||||
}
|
||||
|
||||
drawContent(g, w, h, pressed);
|
||||
}
|
||||
drawContent(g, w, h, pressed);
|
||||
}
|
||||
|
||||
protected void drawContent(Graphics g, float w, float h, final boolean pressed) {
|
||||
float x = insets.x;
|
||||
@@ -181,8 +181,8 @@ public class FLabel extends FDisplayObject {
|
||||
w -= 2 * x;
|
||||
h -= 2 * x;
|
||||
if (pressed) { //while pressed, translate graphics so icon and text appear shifted down and to the right
|
||||
x++;
|
||||
y++;
|
||||
x++;
|
||||
y++;
|
||||
}
|
||||
|
||||
if (icon != null) {
|
||||
@@ -195,9 +195,9 @@ public class FLabel extends FDisplayObject {
|
||||
iconWidth = iconHeight * aspectRatio;
|
||||
}
|
||||
if (iconInBackground || text.isEmpty()) {
|
||||
if (alignment == HAlignment.CENTER) {
|
||||
x += (w - iconWidth) / 2;
|
||||
}
|
||||
if (alignment == HAlignment.CENTER) {
|
||||
x += (w - iconWidth) / 2;
|
||||
}
|
||||
y += (h - iconHeight) / 2;
|
||||
}
|
||||
else {
|
||||
@@ -208,14 +208,14 @@ public class FLabel extends FDisplayObject {
|
||||
g.drawImage(icon, x, y, iconWidth, iconHeight);
|
||||
|
||||
if (!text.isEmpty()) {
|
||||
x += iconWidth;
|
||||
g.startClip(x, y, w, h);
|
||||
x += iconWidth;
|
||||
g.startClip(x, y, w, h);
|
||||
g.drawText(text, font, clrText, x, y, w, h, false, HAlignment.LEFT, true);
|
||||
g.endClip();
|
||||
}
|
||||
}
|
||||
else if (!text.isEmpty()) {
|
||||
g.startClip(x, y, w, h);
|
||||
g.startClip(x, y, w, h);
|
||||
g.drawText(text, font, clrText, x, y, w, h, false, alignment, true);
|
||||
g.endClip();
|
||||
}
|
||||
|
||||
104
forge-m-base/src/forge/toolbox/FProgressBar.java
Normal file
104
forge-m-base/src/forge/toolbox/FProgressBar.java
Normal file
@@ -0,0 +1,104 @@
|
||||
package forge.toolbox;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import forge.Forge.Graphics;
|
||||
|
||||
public class FProgressBar extends FDisplayObject {
|
||||
private long startMillis = 0;
|
||||
private int tempVal = 0, etaSecs = 0, maximum = 0, value = 0;
|
||||
private String desc = "";
|
||||
private String tempMsg, message;
|
||||
private boolean showETA = true;
|
||||
private boolean showCount = true;
|
||||
|
||||
private boolean percentMode = false;
|
||||
|
||||
/** */
|
||||
public FProgressBar() {
|
||||
super();
|
||||
this.reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets description on bar.
|
||||
*
|
||||
* @param s0   A description to prepend before statistics.
|
||||
*/
|
||||
public void setDescription(final String s0) {
|
||||
this.desc = s0;
|
||||
}
|
||||
|
||||
private final Runnable barIncrementor = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
value = tempVal;
|
||||
message = tempMsg;
|
||||
}
|
||||
};
|
||||
|
||||
/** Increments bar, thread safe. Calculations executed on separate thread. */
|
||||
public void setValueThreadSafe(int value) {
|
||||
//GuiUtils.checkEDT("FProgressBar$increment", false);
|
||||
tempVal = value;
|
||||
|
||||
// String.format leads to StringBuilder anyway. Direct calls will be faster
|
||||
StringBuilder sb = new StringBuilder(desc);
|
||||
if (showCount) {
|
||||
sb.append(" ");
|
||||
if (percentMode)
|
||||
sb.append(100 * tempVal / maximum).append("%");
|
||||
else
|
||||
sb.append(tempVal).append(" of ").append(maximum);
|
||||
}
|
||||
|
||||
if (showETA) {
|
||||
calculateETA(tempVal);
|
||||
sb.append(", ETA").append(String.format("%02d:%02d:%02d", etaSecs / 3600, (etaSecs % 3600) / 60, etaSecs % 60 + 1));
|
||||
}
|
||||
tempMsg = sb.toString();
|
||||
|
||||
// When calculations finished; EDT can be used.
|
||||
//SwingUtilities.invokeLater(barIncrementor);
|
||||
barIncrementor.run();
|
||||
}
|
||||
|
||||
/** Resets the various values required for this class. Must be called from EDT. */
|
||||
public void reset() {
|
||||
//FThreads.assertExecutedByEdt(true);
|
||||
this.startMillis = new Date().getTime();
|
||||
this.setShowETA(true);
|
||||
this.setShowCount(true);
|
||||
}
|
||||
|
||||
/** @param b0   Boolean, show the ETA statistic or not */
|
||||
public void setShowETA(boolean b0) {
|
||||
this.showETA = b0;
|
||||
}
|
||||
|
||||
/** @param b0   Boolean, show the ETA statistic or not */
|
||||
public void setShowCount(boolean b0) {
|
||||
this.showCount = b0;
|
||||
}
|
||||
|
||||
/** */
|
||||
private void calculateETA(int v0) {
|
||||
float tempMillis = new Date().getTime();
|
||||
float timePerUnit = (tempMillis - startMillis) / v0;
|
||||
etaSecs = (int) ((this.maximum - v0) * timePerUnit) / 1000;
|
||||
}
|
||||
|
||||
public boolean isPercentMode() {
|
||||
return percentMode;
|
||||
}
|
||||
|
||||
public void setPercentMode(boolean value) {
|
||||
this.percentMode = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -12,21 +12,21 @@ import forge.deck.generation.DeckGeneratorBase;
|
||||
import forge.deck.generation.DeckGeneratorMonoColor;
|
||||
|
||||
public class Utils {
|
||||
private final static float ppcX = Gdx.graphics.getPpcX();
|
||||
private final static float ppcY = Gdx.graphics.getPpcY();
|
||||
private final static float AVG_FINGER_SIZE_CM = 1.1f;
|
||||
private final static float ppcX = Gdx.graphics.getPpcX();
|
||||
private final static float ppcY = Gdx.graphics.getPpcY();
|
||||
private final static float AVG_FINGER_SIZE_CM = 1.1f;
|
||||
|
||||
public final static float AVG_FINGER_WIDTH = cmToPixelsX(AVG_FINGER_SIZE_CM);
|
||||
public final static float AVG_FINGER_HEIGHT = cmToPixelsY(AVG_FINGER_SIZE_CM);
|
||||
public final static float AVG_FINGER_WIDTH = cmToPixelsX(AVG_FINGER_SIZE_CM);
|
||||
public final static float AVG_FINGER_HEIGHT = cmToPixelsY(AVG_FINGER_SIZE_CM);
|
||||
|
||||
public static float cmToPixelsX(float cm) {
|
||||
return ppcX * cm;
|
||||
}
|
||||
public static float cmToPixelsY(float cm) {
|
||||
return ppcY * cm;
|
||||
}
|
||||
public static float cmToPixelsX(float cm) {
|
||||
return ppcX * cm;
|
||||
}
|
||||
public static float cmToPixelsY(float cm) {
|
||||
return ppcY * cm;
|
||||
}
|
||||
|
||||
public static Deck generateRandomDeck(final int colorCount0) {
|
||||
public static Deck generateRandomDeck(final int colorCount0) {
|
||||
CardDb cardDb = Forge.getMagicDb().getCommonCards();
|
||||
DeckGeneratorBase gen = null;
|
||||
switch (colorCount0) {
|
||||
@@ -37,12 +37,12 @@ public class Utils {
|
||||
}
|
||||
|
||||
if (gen != null) {
|
||||
final Deck deck = new Deck();
|
||||
final Deck deck = new Deck();
|
||||
gen.setSingleton(false);
|
||||
gen.setUseArtifacts(false);
|
||||
deck.getMain().addAll(gen.getDeck(60, false));
|
||||
return deck;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user