mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +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/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
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
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 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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
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;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user