Replace tabs with spaces

This commit is contained in:
drdev
2014-02-24 03:15:46 +00:00
parent ddf3351313
commit 59d1f5c967
21 changed files with 871 additions and 713 deletions

2
.gitattributes vendored
View File

@@ -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/player/PlayerControllerHuman.java -text
forge-m-base/src/forge/screens/FScreen.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/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/constructed/ConstructedScreen.java -text
forge-m-base/src/forge/screens/draft/DraftScreen.java -text forge-m-base/src/forge/screens/draft/DraftScreen.java -text
forge-m-base/src/forge/screens/guantlet/GuantletScreen.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/FContainer.java -text
forge-m-base/src/forge/toolbox/FDisplayObject.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/FLabel.java -text
forge-m-base/src/forge/toolbox/FProgressBar.java -text
forge-m-base/src/forge/utils/Utils.java -text forge-m-base/src/forge/utils/Utils.java -text
forge-m-desktop/.classpath -text forge-m-desktop/.classpath -text
forge-m-desktop/.project -text forge-m-desktop/.project -text

View File

@@ -23,6 +23,9 @@ import forge.assets.FSkin;
import forge.assets.FSkinColor; import forge.assets.FSkinColor;
import forge.assets.FSkinFont; import forge.assets.FSkinFont;
import forge.assets.FImage; 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.FScreen;
import forge.screens.home.HomeScreen; import forge.screens.home.HomeScreen;
import forge.toolbox.FDisplayObject; 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.graphics.setContinuousRendering(false); //save power consumption by disabling continuous rendering
Gdx.input.setInputProcessor(new FGestureDetector()); 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.loadLight("journeyman", true);
FSkin.loadFull(true); FSkin.loadFull(true);
openScreen(new HomeScreen()); openScreen(new HomeScreen());

View File

@@ -5,5 +5,5 @@ import forge.Forge.Graphics;
public interface FImage { public interface FImage {
float getSourceWidth(); float getSourceWidth();
float getSourceHeight(); 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);
} }

View File

@@ -59,468 +59,468 @@ public class PlayerControllerHuman extends PlayerController {
super(game0, p, lp); super(game0, p, lp);
} }
@Override @Override
public SpellAbility getAbilityToPlay(List<SpellAbility> abilities, public SpellAbility getAbilityToPlay(List<SpellAbility> abilities,
MouseEvent triggerEvent) { MouseEvent triggerEvent) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void playSpellAbilityForFree(SpellAbility copySA, public void playSpellAbilityForFree(SpellAbility copySA,
boolean mayChoseNewTargets) { boolean mayChoseNewTargets) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public void playSpellAbilityNoStack(SpellAbility effectSA, public void playSpellAbilityNoStack(SpellAbility effectSA,
boolean mayChoseNewTargets) { boolean mayChoseNewTargets) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public List<PaperCard> sideboard(Deck deck, GameType gameType) { public List<PaperCard> sideboard(Deck deck, GameType gameType) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<PaperCard> chooseCardsYouWonToAddToDeck(List<PaperCard> losses) { public List<PaperCard> chooseCardsYouWonToAddToDeck(List<PaperCard> losses) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Map<Card, Integer> assignCombatDamage(Card attacker, public Map<Card, Integer> assignCombatDamage(Card attacker,
List<Card> blockers, int damageDealt, GameEntity defender, List<Card> blockers, int damageDealt, GameEntity defender,
boolean overrideOrder) { boolean overrideOrder) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Integer announceRequirements(SpellAbility ability, String announce, public Integer announceRequirements(SpellAbility ability, String announce,
boolean allowZero) { boolean allowZero) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> choosePermanentsToSacrifice(SpellAbility sa, int min, public List<Card> choosePermanentsToSacrifice(SpellAbility sa, int min,
int max, List<Card> validTargets, String message) { int max, List<Card> validTargets, String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> choosePermanentsToDestroy(SpellAbility sa, int min, public List<Card> choosePermanentsToDestroy(SpellAbility sa, int min,
int max, List<Card> validTargets, String message) { int max, List<Card> validTargets, String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public TargetChoices chooseNewTargetsFor(SpellAbility ability) { public TargetChoices chooseNewTargetsFor(SpellAbility ability) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean chooseTargetsFor(SpellAbility currentAbility) { public boolean chooseTargetsFor(SpellAbility currentAbility) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public Pair<SpellAbilityStackInstance, GameObject> chooseTarget( public Pair<SpellAbilityStackInstance, GameObject> chooseTarget(
SpellAbility sa, SpellAbility sa,
List<Pair<SpellAbilityStackInstance, GameObject>> allTargets) { List<Pair<SpellAbilityStackInstance, GameObject>> allTargets) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> chooseCardsForEffect(List<Card> sourceList, public List<Card> chooseCardsForEffect(List<Card> sourceList,
SpellAbility sa, String title, int min, int max, boolean isOptional) { SpellAbility sa, String title, int min, int max, boolean isOptional) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public <T extends GameEntity> T chooseSingleEntityForEffect( public <T extends GameEntity> T chooseSingleEntityForEffect(
Collection<T> sourceList, SpellAbility sa, String title, Collection<T> sourceList, SpellAbility sa, String title,
boolean isOptional, Player relatedPlayer) { boolean isOptional, Player relatedPlayer) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public SpellAbility chooseSingleSpellForEffect(List<SpellAbility> spells, public SpellAbility chooseSingleSpellForEffect(List<SpellAbility> spells,
SpellAbility sa, String title) { SpellAbility sa, String title) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode,
String message) { String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public boolean confirmStaticApplication(Card hostCard, GameEntity affected, public boolean confirmStaticApplication(Card hostCard, GameEntity affected,
String logic, String message) { String logic, String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public boolean confirmTrigger(SpellAbility sa, Trigger regtrig, public boolean confirmTrigger(SpellAbility sa, Trigger regtrig,
Map<String, String> triggerParams, boolean isMandatory) { Map<String, String> triggerParams, boolean isMandatory) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public boolean getWillPlayOnFirstTurn(boolean isFirstGame) { public boolean getWillPlayOnFirstTurn(boolean isFirstGame) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public List<Card> orderBlockers(Card attacker, List<Card> blockers) { public List<Card> orderBlockers(Card attacker, List<Card> blockers) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> orderAttackers(Card blocker, List<Card> attackers) { public List<Card> orderAttackers(Card blocker, List<Card> attackers) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void reveal(Collection<Card> cards, ZoneType zone, Player owner, public void reveal(Collection<Card> cards, ZoneType zone, Player owner,
String messagePrefix) { String messagePrefix) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public void notifyOfValue(SpellAbility saSource, GameObject realtedTarget, public void notifyOfValue(SpellAbility saSource, GameObject realtedTarget,
String value) { String value) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public ImmutablePair<List<Card>, List<Card>> arrangeForScry(List<Card> topN) { public ImmutablePair<List<Card>, List<Card>> arrangeForScry(List<Card> topN) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean willPutCardOnTop(Card c) { public boolean willPutCardOnTop(Card c) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public List<Card> orderMoveToZoneList(List<Card> cards, public List<Card> orderMoveToZoneList(List<Card> cards,
ZoneType destinationZone) { ZoneType destinationZone) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> chooseCardsToDiscardFrom(Player playerDiscard, public List<Card> chooseCardsToDiscardFrom(Player playerDiscard,
SpellAbility sa, List<Card> validCards, int min, int max) { SpellAbility sa, List<Card> validCards, int min, int max) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void playMiracle(SpellAbility miracle, Card card) { public void playMiracle(SpellAbility miracle, Card card) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public List<Card> chooseCardsToDelve(int colorLessAmount, List<Card> grave) { public List<Card> chooseCardsToDelve(int colorLessAmount, List<Card> grave) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> chooseCardsToRevealFromHand(int min, int max, public List<Card> chooseCardsToRevealFromHand(int min, int max,
List<Card> valid) { List<Card> valid) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<Card> chooseCardsToDiscardUnlessType(int min, List<Card> hand, public List<Card> chooseCardsToDiscardUnlessType(int min, List<Card> hand,
String param, SpellAbility sa) { String param, SpellAbility sa) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<SpellAbility> chooseSaToActivateFromOpeningHand( public List<SpellAbility> chooseSaToActivateFromOpeningHand(
List<SpellAbility> usableFromOpeningHand) { List<SpellAbility> usableFromOpeningHand) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Mana chooseManaFromPool(List<Mana> manaChoices) { public Mana chooseManaFromPool(List<Mana> manaChoices) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public String chooseSomeType(String kindOfType, SpellAbility sa, public String chooseSomeType(String kindOfType, SpellAbility sa,
List<String> validTypes, List<String> invalidTypes, List<String> validTypes, List<String> invalidTypes,
boolean isOptional) { boolean isOptional) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Pair<CounterType, String> chooseAndRemoveOrPutCounter( public Pair<CounterType, String> chooseAndRemoveOrPutCounter(
Card cardWithCounter) { Card cardWithCounter) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean confirmReplacementEffect( public boolean confirmReplacementEffect(
ReplacementEffect replacementEffect, SpellAbility effectSA, ReplacementEffect replacementEffect, SpellAbility effectSA,
String question) { String question) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) { public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void declareAttackers(Player attacker, Combat combat) { public void declareAttackers(Player attacker, Combat combat) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public void declareBlockers(Player defender, Combat combat) { public void declareBlockers(Player defender, Combat combat) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public SpellAbility chooseSpellAbilityToPlay() { public SpellAbility chooseSpellAbilityToPlay() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void playChosenSpellAbility(SpellAbility sa) { public void playChosenSpellAbility(SpellAbility sa) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public List<Card> chooseCardsToDiscardToMaximumHandSize(int numDiscard) { public List<Card> chooseCardsToDiscardToMaximumHandSize(int numDiscard) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean payManaOptional(Card card, Cost cost, SpellAbility sa, public boolean payManaOptional(Card card, Cost cost, SpellAbility sa,
String prompt, ManaPaymentPurpose purpose) { String prompt, ManaPaymentPurpose purpose) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public int chooseNumber(SpellAbility sa, String title, int min, int max) { public int chooseNumber(SpellAbility sa, String title, int min, int max) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return 0; return 0;
} }
@Override @Override
public int chooseNumber(SpellAbility sa, String title, public int chooseNumber(SpellAbility sa, String title,
List<Integer> values, Player relatedPlayer) { List<Integer> values, Player relatedPlayer) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return 0; return 0;
} }
@Override @Override
public boolean chooseBinary(SpellAbility sa, String question, public boolean chooseBinary(SpellAbility sa, String question,
BinaryChoiceType kindOfChoice, Boolean defaultChioce) { BinaryChoiceType kindOfChoice, Boolean defaultChioce) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public boolean chooseFlipResult(SpellAbility sa, Player flipper, public boolean chooseFlipResult(SpellAbility sa, Player flipper,
boolean[] results, boolean call) { boolean[] results, boolean call) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public Card chooseProtectionShield(GameEntity entityBeingDamaged, public Card chooseProtectionShield(GameEntity entityBeingDamaged,
List<String> options, Map<String, Card> choiceMap) { List<String> options, Map<String, Card> choiceMap) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<AbilitySub> chooseModeForAbility(SpellAbility sa, int min, public List<AbilitySub> chooseModeForAbility(SpellAbility sa, int min,
int num) { int num) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public byte chooseColor(String message, SpellAbility sa, ColorSet colors) { public byte chooseColor(String message, SpellAbility sa, ColorSet colors) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return 0; return 0;
} }
@Override @Override
public byte chooseColorAllowColorless(String message, Card c, public byte chooseColorAllowColorless(String message, Card c,
ColorSet colors) { ColorSet colors) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return 0; return 0;
} }
@Override @Override
public PaperCard chooseSinglePaperCard(SpellAbility sa, String message, public PaperCard chooseSinglePaperCard(SpellAbility sa, String message,
Predicate<PaperCard> cpp, String name) { Predicate<PaperCard> cpp, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public List<String> chooseColors(String message, SpellAbility sa, int min, public List<String> chooseColors(String message, SpellAbility sa, int min,
int max, List<String> options) { int max, List<String> options) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public CounterType chooseCounterType(Collection<CounterType> options, public CounterType chooseCounterType(Collection<CounterType> options,
SpellAbility sa, String prompt) { SpellAbility sa, String prompt) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean confirmPayment(CostPart costPart, String string) { public boolean confirmPayment(CostPart costPart, String string) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public ReplacementEffect chooseSingleReplacementEffect(String prompt, public ReplacementEffect chooseSingleReplacementEffect(String prompt,
List<ReplacementEffect> possibleReplacers, List<ReplacementEffect> possibleReplacers,
HashMap<String, Object> runParams) { HashMap<String, Object> runParams) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public String chooseProtectionType(String string, SpellAbility sa, public String chooseProtectionType(String string, SpellAbility sa,
List<String> choices) { List<String> choices) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public CardShields chooseRegenerationShield(Card c) { public CardShields chooseRegenerationShield(Card c) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean payCostToPreventEffect(Cost cost, SpellAbility sa, public boolean payCostToPreventEffect(Cost cost, SpellAbility sa,
boolean alreadyPaid, List<Player> allPayers) { boolean alreadyPaid, List<Player> allPayers) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) { public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public void playTrigger(Card host, WrappedAbility wrapperAbility, public void playTrigger(Card host, WrappedAbility wrapperAbility,
boolean isMandatory) { boolean isMandatory) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public boolean playSaFromPlayEffect(SpellAbility tgtSA) { public boolean playSaFromPlayEffect(SpellAbility tgtSA) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public Map<GameEntity, CounterType> chooseProliferation() { public Map<GameEntity, CounterType> chooseProliferation() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean chooseCardsPile(SpellAbility sa, List<Card> pile1, public boolean chooseCardsPile(SpellAbility sa, List<Card> pile1,
List<Card> pile2, boolean faceUp) { List<Card> pile2, boolean faceUp) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public void revealAnte(String message, public void revealAnte(String message,
Multimap<Player, PaperCard> removedAnteCards) { Multimap<Player, PaperCard> removedAnteCards) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public boolean payManaCost(ManaCost toPay, CostPartMana costPartMana, public boolean payManaCost(ManaCost toPay, CostPartMana costPartMana,
SpellAbility sa, String prompt, boolean isActivatedAbility) { SpellAbility sa, String prompt, boolean isActivatedAbility) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public Map<Card, ManaCostShard> chooseCardsForConvoke(SpellAbility sa, public Map<Card, ManaCostShard> chooseCardsForConvoke(SpellAbility sa,
ManaCost manaCost, List<Card> untappedCreats) { ManaCost manaCost, List<Card> untappedCreats) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public String chooseCardName(SpellAbility sa, Predicate<PaperCard> cpp, public String chooseCardName(SpellAbility sa, Predicate<PaperCard> cpp,
String valid, String message) { String valid, String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Card chooseSingleCardForZoneChange(ZoneType destination, public Card chooseSingleCardForZoneChange(ZoneType destination,
List<ZoneType> origin, SpellAbility sa, List<Card> fetchList, List<ZoneType> origin, SpellAbility sa, List<Card> fetchList,
String selectPrompt, boolean b, Player decider) { String selectPrompt, boolean b, Player decider) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
}*/ }*/

View File

@@ -21,34 +21,34 @@ public abstract class FScreen extends FContainer {
private final FLabel btnBack, lblHeader, btnMenu; private final FLabel btnBack, lblHeader, btnMenu;
protected FScreen(boolean showBackButton, String headerCaption, boolean showMenuButton) { protected FScreen(boolean showBackButton, String headerCaption, boolean showMenuButton) {
if (showBackButton) { if (showBackButton) {
btnBack = add(new FLabel.ButtonBuilder().icon(FSkinImage.BACK).command(new Runnable() { btnBack = add(new FLabel.ButtonBuilder().icon(FSkinImage.BACK).command(new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.back(); Forge.back();
} }
}).build()); }).build());
} }
else { else {
btnBack = null; btnBack = null;
} }
if (headerCaption != null) { if (headerCaption != null) {
lblHeader = add(new FLabel.Builder().text(headerCaption).fontSize(16).align(HAlignment.CENTER).build()); lblHeader = add(new FLabel.Builder().text(headerCaption).fontSize(16).align(HAlignment.CENTER).build());
} }
else { else {
lblHeader = null; lblHeader = null;
} }
if (showMenuButton) { if (showMenuButton) {
btnMenu = add(new FLabel.ButtonBuilder().icon(FSkinImage.FAVICON).command(new Runnable() { btnMenu = add(new FLabel.ButtonBuilder().icon(FSkinImage.FAVICON).command(new Runnable() {
@Override @Override
public void run() { public void run() {
showMenu(); showMenu();
} }
}).build()); }).build());
} }
else { else {
btnMenu = null; btnMenu = null;
} }
} }
public void onOpen() { public void onOpen() {
@@ -63,54 +63,54 @@ public abstract class FScreen extends FContainer {
} }
public void showMenu() { public void showMenu() {
buildMenu(); buildMenu();
} }
protected void buildMenu() { protected void buildMenu() {
} }
@Override @Override
protected final void doLayout(float width, float height) { protected final void doLayout(float width, float height) {
float headerX = 0; float headerX = 0;
float insets = 0; float insets = 0;
float headerWidth = width; float headerWidth = width;
float buttonWidth = Utils.AVG_FINGER_WIDTH; float buttonWidth = Utils.AVG_FINGER_WIDTH;
float headerHeight = Utils.AVG_FINGER_HEIGHT; float headerHeight = Utils.AVG_FINGER_HEIGHT;
if (btnBack != null) { if (btnBack != null) {
btnBack.setBounds(insets, insets, buttonWidth, headerHeight); btnBack.setBounds(insets, insets, buttonWidth, headerHeight);
headerX = btnBack.getWidth(); headerX = btnBack.getWidth();
headerWidth -= headerX; headerWidth -= headerX;
} }
if (btnMenu != null) { if (btnMenu != null) {
btnMenu.setBounds(width - buttonWidth - insets, insets, buttonWidth, headerHeight); btnMenu.setBounds(width - buttonWidth - insets, insets, buttonWidth, headerHeight);
headerWidth -= btnMenu.getWidth(); headerWidth -= btnMenu.getWidth();
} }
if (lblHeader != null) { if (lblHeader != null) {
lblHeader.setBounds(headerX, 0, headerWidth, headerHeight); lblHeader.setBounds(headerX, 0, headerWidth, headerHeight);
doLayout(headerHeight, width, height); doLayout(headerHeight, width, height);
} }
else { else {
doLayout(0, width, height); doLayout(0, width, height);
} }
} }
protected abstract void doLayout(float startY, float width, float height); protected abstract void doLayout(float startY, float width, float height);
@Override @Override
protected void drawBackground(Graphics g) { protected void drawBackground(Graphics g) {
float w = getWidth(); float w = getWidth();
float h = getHeight(); float h = getHeight();
g.drawImage(FSkinImage.BG_TEXTURE, 0, 0, w, h); g.drawImage(FSkinImage.BG_TEXTURE, 0, 0, w, h);
g.fillRect(clrTheme, 0, 0, w, h); g.fillRect(clrTheme, 0, 0, w, h);
if (lblHeader != null) { //draw custom background behind header label if (lblHeader != null) { //draw custom background behind header label
float x = lblHeader.getLeft() + 6; float x = lblHeader.getLeft() + 6;
float y = lblHeader.getTop() + 1; float y = lblHeader.getTop() + 1;
w -= x; w -= x;
h = lblHeader.getHeight() - 2; h = lblHeader.getHeight() - 2;
g.fillRect(d80, x, y + 5, w, h - 5); g.fillRect(d80, x, y + 5, w, h - 5);
g.fillRect(a100, x + 5, y, w - 5, h - 5); g.fillRect(a100, x + 5, y, w - 5, h - 5);
g.drawRect(d40, x + 5, y, w - 5, h - 5); g.drawRect(d40, x + 5, y, w - 5, h - 5);

View File

@@ -15,36 +15,36 @@ import forge.game.player.RegisteredPlayer;
import forge.toolbox.FDisplayObject; import forge.toolbox.FDisplayObject;
public abstract class LaunchScreen extends FScreen { public abstract class LaunchScreen extends FScreen {
private final StartButton btnStart; private final StartButton btnStart;
public LaunchScreen(String headerCaption) { public LaunchScreen(String headerCaption) {
super(true, headerCaption, true); super(true, headerCaption, true);
btnStart = add(new StartButton()); btnStart = add(new StartButton());
} }
@Override @Override
protected final void doLayout(float startY, float width, float height) { protected final void doLayout(float startY, float width, float height) {
float imageWidth = FSkinImage.BTN_START_UP.getSourceWidth(); float imageWidth = FSkinImage.BTN_START_UP.getSourceWidth();
float imageHeight = FSkinImage.BTN_START_UP.getSourceHeight(); float imageHeight = FSkinImage.BTN_START_UP.getSourceHeight();
float padding = imageHeight * 0.1f; 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 void doLayoutAboveBtnStart(float startY, float width, float height);
protected abstract boolean buildLaunchParams(LaunchParams launchParams); protected abstract boolean buildLaunchParams(LaunchParams launchParams);
protected class LaunchParams { protected class LaunchParams {
public GameType gameType; public GameType gameType;
public final List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>(); public final List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
public final List<GameType> appliedVariants = new ArrayList<GameType>(); public final List<GameType> appliedVariants = new ArrayList<GameType>();
} }
private class StartButton extends FDisplayObject { private class StartButton extends FDisplayObject {
private boolean pressed; private boolean pressed;
private boolean creatingMatch; private boolean creatingMatch;
/** /**
* Instantiates a new FButton. * Instantiates a new FButton.
@@ -60,25 +60,25 @@ public abstract class LaunchScreen extends FScreen {
@Override @Override
public final boolean touchUp(float x, float y) { public final boolean touchUp(float x, float y) {
pressed = false; pressed = false;
return true; return true;
} }
@Override @Override
public final boolean tap(float x, float y, int count) { public final boolean tap(float x, float y, int count) {
if (count == 1 && !creatingMatch) { 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(); LaunchParams launchParams = new LaunchParams();
if (buildLaunchParams(launchParams)) { if (buildLaunchParams(launchParams)) {
if (launchParams.gameType == null) { if (launchParams.gameType == null) {
throw new RuntimeException("Must set launchParams.gameType"); throw new RuntimeException("Must set launchParams.gameType");
} }
if (launchParams.players.isEmpty()) { if (launchParams.players.isEmpty()) {
throw new RuntimeException("Must add at least one player to launchParams.players"); 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) { for (RegisteredPlayer rp : launchParams.players) {
rp.setRandomFoil(useRandomFoil); 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); rules.canCloneUseTargetsImage = false; //Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
Forge.openScreen(new MatchScreen(new Match(rules, launchParams.players))); Forge.openScreen(new MatchScreen(new Match(rules, launchParams.players)));
} }
creatingMatch = false; creatingMatch = false;
} }
return true; return true;
} }
@Override @Override
public void draw(Graphics g) { public void draw(Graphics g) {
g.drawImage(pressed ? FSkinImage.BTN_START_DOWN : FSkinImage.BTN_START_UP, g.drawImage(pressed ? FSkinImage.BTN_START_DOWN : FSkinImage.BTN_START_UP,
0, 0, getWidth(), getHeight()); 0, 0, getWidth(), getHeight());
} }
} }
} }

View 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) {
}
}

View File

@@ -10,32 +10,32 @@ import forge.utils.Utils;
public class ConstructedScreen extends LaunchScreen { public class ConstructedScreen extends LaunchScreen {
public ConstructedScreen() { public ConstructedScreen() {
super("Constructed"); super("Constructed");
} }
@Override @Override
protected void doLayoutAboveBtnStart(float startY, float width, float height) { protected void doLayoutAboveBtnStart(float startY, float width, float height) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
protected boolean buildLaunchParams(LaunchParams launchParams) { protected boolean buildLaunchParams(LaunchParams launchParams) {
launchParams.gameType = GameType.Constructed; launchParams.gameType = GameType.Constructed;
//TODO: Allow picking decks //TODO: Allow picking decks
Deck humanDeck = Utils.generateRandomDeck(2); Deck humanDeck = Utils.generateRandomDeck(2);
LobbyPlayerHuman humanLobbyPlayer = new LobbyPlayerHuman("Human"); LobbyPlayerHuman humanLobbyPlayer = new LobbyPlayerHuman("Human");
RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck); RegisteredPlayer humanRegisteredPlayer = new RegisteredPlayer(humanDeck);
humanRegisteredPlayer.setPlayer(humanLobbyPlayer); humanRegisteredPlayer.setPlayer(humanLobbyPlayer);
launchParams.players.add(humanRegisteredPlayer); launchParams.players.add(humanRegisteredPlayer);
Deck aiDeck = Utils.generateRandomDeck(2); Deck aiDeck = Utils.generateRandomDeck(2);
LobbyPlayerAi aiLobbyPlayer = new LobbyPlayerAi("AI Player"); LobbyPlayerAi aiLobbyPlayer = new LobbyPlayerAi("AI Player");
RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck); RegisteredPlayer aiRegisteredPlayer = new RegisteredPlayer(aiDeck);
aiRegisteredPlayer.setPlayer(aiLobbyPlayer); aiRegisteredPlayer.setPlayer(aiLobbyPlayer);
launchParams.players.add(aiRegisteredPlayer); launchParams.players.add(aiRegisteredPlayer);
return false; //TODO: Support launching match return false; //TODO: Support launching match
} }
} }

View File

@@ -5,18 +5,18 @@ import forge.game.GameType;
public class DraftScreen extends LaunchScreen { public class DraftScreen extends LaunchScreen {
public DraftScreen() { public DraftScreen() {
super("Draft"); super("Draft");
} }
@Override @Override
protected void doLayoutAboveBtnStart(float startY, float width, float height) { protected void doLayoutAboveBtnStart(float startY, float width, float height) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
protected boolean buildLaunchParams(LaunchParams launchParams) { protected boolean buildLaunchParams(LaunchParams launchParams) {
launchParams.gameType = GameType.Draft; launchParams.gameType = GameType.Draft;
return false; //TODO: Support launching match return false; //TODO: Support launching match
} }
} }

View File

@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
public class GuantletScreen extends LaunchScreen { public class GuantletScreen extends LaunchScreen {
public GuantletScreen() { public GuantletScreen() {
super("Guantlet"); super("Guantlet");
} }
@Override @Override
protected void doLayoutAboveBtnStart(float startY, float width, float height) { protected void doLayoutAboveBtnStart(float startY, float width, float height) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
protected boolean buildLaunchParams(LaunchParams launchParams) { protected boolean buildLaunchParams(LaunchParams launchParams) {
launchParams.gameType = GameType.Gauntlet; launchParams.gameType = GameType.Gauntlet;
return false; //TODO: Support launching match return false; //TODO: Support launching match
} }
} }

View File

@@ -21,43 +21,43 @@ public class HomeScreen extends FScreen {
private final ArrayList<FButton> buttons = new ArrayList<FButton>(); private final ArrayList<FButton> buttons = new ArrayList<FButton>();
public HomeScreen() { public HomeScreen() {
super(false, null, false); super(false, null, false);
addButton("Constructed", new Runnable() { addButton("Constructed", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new ConstructedScreen()); Forge.openScreen(new ConstructedScreen());
} }
}); });
addButton("Draft", new Runnable() { addButton("Draft", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new DraftScreen()); Forge.openScreen(new DraftScreen());
} }
}); });
addButton("Sealed", new Runnable() { addButton("Sealed", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new SealedScreen()); Forge.openScreen(new SealedScreen());
} }
}); });
addButton("Quest", new Runnable() { addButton("Quest", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new QuestScreen()); Forge.openScreen(new QuestScreen());
} }
}); });
addButton("Guantlet", new Runnable() { addButton("Guantlet", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new GuantletScreen()); Forge.openScreen(new GuantletScreen());
} }
}); });
addButton("Settings", new Runnable() { addButton("Settings", new Runnable() {
@Override @Override
public void run() { public void run() {
Forge.openScreen(new SettingsScreen()); Forge.openScreen(new SettingsScreen());
} }
}); });
} }

View File

@@ -4,11 +4,11 @@ import forge.screens.FScreen;
import forge.game.Match; import forge.game.Match;
public class MatchScreen extends FScreen { public class MatchScreen extends FScreen {
private final Match match; private final Match match;
public MatchScreen(Match match0) { public MatchScreen(Match match0) {
super(false, null, true); super(false, null, true);
this.match = match0; this.match = match0;
} }
@Override @Override

View File

@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
public class QuestScreen extends LaunchScreen { public class QuestScreen extends LaunchScreen {
public QuestScreen() { public QuestScreen() {
super("Quest"); super("Quest");
} }
@Override @Override
protected void doLayoutAboveBtnStart(float startY, float width, float height) { protected void doLayoutAboveBtnStart(float startY, float width, float height) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
protected boolean buildLaunchParams(LaunchParams launchParams) { protected boolean buildLaunchParams(LaunchParams launchParams) {
launchParams.gameType = GameType.Quest; launchParams.gameType = GameType.Quest;
return false; //TODO: Support launching match return false; //TODO: Support launching match
} }
} }

View File

@@ -5,18 +5,18 @@ import forge.screens.LaunchScreen;
public class SealedScreen extends LaunchScreen { public class SealedScreen extends LaunchScreen {
public SealedScreen() { public SealedScreen() {
super("Sealed"); super("Sealed");
} }
@Override @Override
protected void doLayoutAboveBtnStart(float startY, float width, float height) { protected void doLayoutAboveBtnStart(float startY, float width, float height) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
protected boolean buildLaunchParams(LaunchParams launchParams) { protected boolean buildLaunchParams(LaunchParams launchParams) {
launchParams.gameType = GameType.Sealed; launchParams.gameType = GameType.Sealed;
return false; //TODO: Support launching match return false; //TODO: Support launching match
} }
} }

View File

@@ -5,7 +5,7 @@ import forge.screens.FScreen;
public class SettingsScreen extends FScreen { public class SettingsScreen extends FScreen {
public SettingsScreen() { public SettingsScreen() {
super(true, "Settings", true); super(true, "Settings", true);
} }
@Override @Override

View File

@@ -85,7 +85,7 @@ public class FButton extends FDisplayObject {
} }
public void setCommand(Runnable command0) { public void setCommand(Runnable command0) {
command = command0; command = command0;
} }
@Override @Override
@@ -107,7 +107,7 @@ public class FButton extends FDisplayObject {
@Override @Override
public final boolean tap(float x, float y, int count) { public final boolean tap(float x, float y, int count) {
if (count == 1 && command != null) { if (count == 1 && command != null) {
command.run(); command.run();
} }
return true; return true;
} }

View File

@@ -18,9 +18,9 @@ public abstract class FContainer extends FDisplayObject {
public final void draw(Graphics g) { public final void draw(Graphics g) {
drawBackground(g); drawBackground(g);
for (FDisplayObject child : children) { for (FDisplayObject child : children) {
if (child.isVisible()) { if (child.isVisible()) {
g.draw(child); g.draw(child);
} }
} }
drawOverlay(g); drawOverlay(g);
} }

View File

@@ -8,8 +8,8 @@ import com.badlogic.gdx.math.Vector2;
import forge.Forge.Graphics; import forge.Forge.Graphics;
public abstract class FDisplayObject { public abstract class FDisplayObject {
private boolean visible = true; private boolean visible = true;
private boolean enabled = true; private boolean enabled = true;
private final Rectangle bounds = new Rectangle(); private final Rectangle bounds = new Rectangle();
public void setPosition(float x, float y) { public void setPosition(float x, float y) {
@@ -54,7 +54,7 @@ public abstract class FDisplayObject {
return visible; return visible;
} }
public void setVisible(boolean b0) { public void setVisible(boolean b0) {
visible = b0; visible = b0;
} }
public abstract void draw(Graphics g); public abstract void draw(Graphics g);

View File

@@ -10,7 +10,7 @@ import forge.assets.FSkinColor.Colors;
import forge.assets.FSkinFont; import forge.assets.FSkinFont;
public class FLabel extends FDisplayObject { public class FLabel extends FDisplayObject {
public static class Builder { public static class Builder {
//========== Default values for FLabel are set here. //========== Default values for FLabel are set here.
private float bldIconScaleFactor = 0.8f; private float bldIconScaleFactor = 0.8f;
private int bldFontSize = 14; private int bldFontSize = 14;
@@ -79,18 +79,18 @@ public class FLabel extends FDisplayObject {
// Call this using FLabel.Builder()... // Call this using FLabel.Builder()...
protected FLabel(final Builder b0) { protected FLabel(final Builder b0) {
iconScaleFactor = b0.bldIconScaleFactor; iconScaleFactor = b0.bldIconScaleFactor;
font = FSkinFont.get(b0.bldFontSize); font = FSkinFont.get(b0.bldFontSize);
alignment = b0.bldAlignment; alignment = b0.bldAlignment;
insets = b0.bldInsets; insets = b0.bldInsets;
selectable = b0.bldSelectable; selectable = b0.bldSelectable;
selected = b0.bldSelected; selected = b0.bldSelected;
opaque = b0.bldOpaque; opaque = b0.bldOpaque;
iconInBackground = b0.bldIconInBackground; iconInBackground = b0.bldIconInBackground;
iconScaleAuto = b0.bldIconScaleAuto; iconScaleAuto = b0.bldIconScaleAuto;
text = b0.bldText != null ? b0.bldText : ""; text = b0.bldText != null ? b0.bldText : "";
icon = b0.bldIcon; icon = b0.bldIcon;
command = b0.bldCommand; command = b0.bldCommand;
setEnabled(b0.bldEnabled); setEnabled(b0.bldEnabled);
} }
@@ -135,45 +135,45 @@ public class FLabel extends FDisplayObject {
@Override @Override
public final boolean tap(float x, float y, int count) { public final boolean tap(float x, float y, int count) {
boolean handled = false; boolean handled = false;
if (selectable) { if (selectable) {
setSelected(!selected); setSelected(!selected);
handled = true; handled = true;
}
if (command != null) {
command.run();
handled = true;
} }
return handled; if (command != null) {
command.run();
handled = true;
}
return handled;
} }
@Override @Override
public void draw(Graphics g) { public void draw(Graphics g) {
float w = getWidth(); float w = getWidth();
float h = getHeight(); float h = getHeight();
if (pressed) { if (pressed) {
g.drawRect(d50, 0, 0, w, h); g.drawRect(d50, 0, 0, w, h);
g.drawRect(d10, 1, 1, w - 2, h - 2); g.drawRect(d10, 1, 1, w - 2, h - 2);
g.fillGradientRect(d50, d10, true, 2, 2, w - 4, h - 4); 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);
} }
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(d50, 0, 0, w, h);
g.drawRect(l10, 1, 1, w - 2, h - 2); g.drawRect(l10, 1, 1, w - 2, h - 2);
g.fillGradientRect(d10, l20, true, 2, 2, w - 4, h - 4); g.fillGradientRect(d10, l20, true, 2, 2, w - 4, h - 4);
} }
else if (selectable) { else if (selectable) {
g.drawRect(l10, 0, 0, w, h); g.drawRect(l10, 0, 0, w, h);
g.drawRect(l30, 1, 1, w - 2, h - 2); 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) { protected void drawContent(Graphics g, float w, float h, final boolean pressed) {
float x = insets.x; float x = insets.x;
@@ -181,8 +181,8 @@ public class FLabel extends FDisplayObject {
w -= 2 * x; w -= 2 * x;
h -= 2 * x; h -= 2 * x;
if (pressed) { //while pressed, translate graphics so icon and text appear shifted down and to the right if (pressed) { //while pressed, translate graphics so icon and text appear shifted down and to the right
x++; x++;
y++; y++;
} }
if (icon != null) { if (icon != null) {
@@ -195,9 +195,9 @@ public class FLabel extends FDisplayObject {
iconWidth = iconHeight * aspectRatio; iconWidth = iconHeight * aspectRatio;
} }
if (iconInBackground || text.isEmpty()) { if (iconInBackground || text.isEmpty()) {
if (alignment == HAlignment.CENTER) { if (alignment == HAlignment.CENTER) {
x += (w - iconWidth) / 2; x += (w - iconWidth) / 2;
} }
y += (h - iconHeight) / 2; y += (h - iconHeight) / 2;
} }
else { else {
@@ -208,14 +208,14 @@ public class FLabel extends FDisplayObject {
g.drawImage(icon, x, y, iconWidth, iconHeight); g.drawImage(icon, x, y, iconWidth, iconHeight);
if (!text.isEmpty()) { if (!text.isEmpty()) {
x += iconWidth; x += iconWidth;
g.startClip(x, y, w, h); g.startClip(x, y, w, h);
g.drawText(text, font, clrText, x, y, w, h, false, HAlignment.LEFT, true); g.drawText(text, font, clrText, x, y, w, h, false, HAlignment.LEFT, true);
g.endClip(); g.endClip();
} }
} }
else if (!text.isEmpty()) { 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.drawText(text, font, clrText, x, y, w, h, false, alignment, true);
g.endClip(); g.endClip();
} }

View 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 &emsp; 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 &emsp; Boolean, show the ETA statistic or not */
public void setShowETA(boolean b0) {
this.showETA = b0;
}
/** @param b0 &emsp; 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
}
}

View File

@@ -12,21 +12,21 @@ import forge.deck.generation.DeckGeneratorBase;
import forge.deck.generation.DeckGeneratorMonoColor; import forge.deck.generation.DeckGeneratorMonoColor;
public class Utils { public class Utils {
private final static float ppcX = Gdx.graphics.getPpcX(); private final static float ppcX = Gdx.graphics.getPpcX();
private final static float ppcY = Gdx.graphics.getPpcY(); private final static float ppcY = Gdx.graphics.getPpcY();
private final static float AVG_FINGER_SIZE_CM = 1.1f; 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_WIDTH = cmToPixelsX(AVG_FINGER_SIZE_CM);
public final static float AVG_FINGER_HEIGHT = cmToPixelsY(AVG_FINGER_SIZE_CM); public final static float AVG_FINGER_HEIGHT = cmToPixelsY(AVG_FINGER_SIZE_CM);
public static float cmToPixelsX(float cm) { public static float cmToPixelsX(float cm) {
return ppcX * cm; return ppcX * cm;
} }
public static float cmToPixelsY(float cm) { public static float cmToPixelsY(float cm) {
return ppcY * cm; return ppcY * cm;
} }
public static Deck generateRandomDeck(final int colorCount0) { public static Deck generateRandomDeck(final int colorCount0) {
CardDb cardDb = Forge.getMagicDb().getCommonCards(); CardDb cardDb = Forge.getMagicDb().getCommonCards();
DeckGeneratorBase gen = null; DeckGeneratorBase gen = null;
switch (colorCount0) { switch (colorCount0) {
@@ -37,12 +37,12 @@ public class Utils {
} }
if (gen != null) { if (gen != null) {
final Deck deck = new Deck(); final Deck deck = new Deck();
gen.setSingleton(false); gen.setSingleton(false);
gen.setUseArtifacts(false); gen.setUseArtifacts(false);
deck.getMain().addAll(gen.getDeck(60, false)); deck.getMain().addAll(gen.getDeck(60, false));
return deck; return deck;
} }
return null; return null;
} }
} }