Fix so quest stats updated

This commit is contained in:
drdev
2014-07-07 04:16:15 +00:00
parent 77bb8b60c1
commit 787bb94d6d
9 changed files with 166 additions and 57 deletions

View File

@@ -59,7 +59,7 @@ public enum VSubmenuDuels implements IVSubmenu<CSubmenuDuels>, IVQuestStats {
.fontSize(15).build(); .fontSize(15).build();
private final LblHeader lblTitle = new LblHeader("Quest Mode: Duels"); private final LblHeader lblTitle = new LblHeader("Quest Mode: Duels");
private final JLabel lblInfo = new FLabel.Builder().text("Select your next duel.") private final FLabel lblInfo = new FLabel.Builder().text("Select your next duel.")
.fontStyle(Font.BOLD).fontSize(16) .fontStyle(Font.BOLD).fontSize(16)
.fontAlign(SwingConstants.LEFT).build(); .fontAlign(SwingConstants.LEFT).build();

View File

@@ -58,7 +58,9 @@ public abstract class FDropDownMenu extends FDropDown {
} }
public void addItem(FMenuItem item) { public void addItem(FMenuItem item) {
items.add(add(item)); if (item.isVisible()) {
items.add(add(item));
}
} }
@Override @Override

View File

@@ -5,17 +5,20 @@ import com.badlogic.gdx.utils.Timer;
import com.badlogic.gdx.utils.Timer.Task; import com.badlogic.gdx.utils.Timer.Task;
import forge.Graphics; import forge.Graphics;
import forge.UiCommand;
import forge.assets.FImage; import forge.assets.FImage;
import forge.assets.FSkinColor; import forge.assets.FSkinColor;
import forge.assets.FSkinFont; import forge.assets.FSkinFont;
import forge.assets.FSkinColor.Colors; import forge.assets.FSkinColor.Colors;
import forge.assets.FSkinProp;
import forge.interfaces.IButton;
import forge.toolbox.FDisplayObject; import forge.toolbox.FDisplayObject;
import forge.toolbox.FEvent; import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FEvent.FEventType; import forge.toolbox.FEvent.FEventType;
import forge.util.Utils; import forge.util.Utils;
public class FMenuItem extends FDisplayObject { public class FMenuItem extends FDisplayObject implements IButton {
public static final float HEIGHT = Utils.AVG_FINGER_HEIGHT * 0.8f; public static final float HEIGHT = Utils.AVG_FINGER_HEIGHT * 0.8f;
protected static final float DIVOT_WIDTH = HEIGHT / 6; protected static final float DIVOT_WIDTH = HEIGHT / 6;
protected static final float GAP_X = HEIGHT * 0.1f; protected static final float GAP_X = HEIGHT * 0.1f;
@@ -121,4 +124,32 @@ public class FMenuItem extends FDisplayObject {
//draw separator line //draw separator line
g.drawLine(1, SEPARATOR_COLOR, 0, h, w, h); g.drawLine(1, SEPARATOR_COLOR, 0, h, w, h);
} }
@Override
public String getText() {
return text;
}
@Override
public void setText(String text0) {
}
@Override
public boolean isSelected() {
return false;
}
@Override
public void setSelected(boolean b0) {
}
@Override
public boolean requestFocusInWindow() {
return false;
}
@Override
public void setCommand(UiCommand command0) {
}
@Override
public void setTextColor(FSkinProp color) {
}
@Override
public void setTextColor(int r, int g, int b) {
}
} }

View File

@@ -1,5 +1,6 @@
package forge.screens.quest; package forge.screens.quest;
import forge.quest.QuestUtil;
import forge.screens.LaunchScreen; import forge.screens.LaunchScreen;
public class QuestChallengesScreen extends LaunchScreen { public class QuestChallengesScreen extends LaunchScreen {
@@ -7,6 +8,11 @@ public class QuestChallengesScreen extends LaunchScreen {
super("Quest Duels", QuestMenu.getMenu()); super("Quest Duels", QuestMenu.getMenu());
} }
@Override
public void onActivate() {
QuestUtil.updateQuestView(QuestMenu.getMenu());
}
@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

View File

@@ -1,12 +1,43 @@
package forge.screens.quest; package forge.screens.quest;
import forge.assets.FSkinFont;
import forge.interfaces.IButton;
import forge.interfaces.ICheckBox;
import forge.interfaces.IComboBox;
import forge.quest.QuestUtil;
import forge.screens.LaunchScreen; import forge.screens.LaunchScreen;
import forge.toolbox.FCheckBox;
import forge.toolbox.FComboBox;
import forge.toolbox.FLabel;
public class QuestDuelsScreen extends LaunchScreen { public class QuestDuelsScreen extends LaunchScreen {
private final FComboBox<String> cbxPet = add(new FComboBox<String>());
private final FCheckBox cbCharm = add(new FCheckBox("Use Charm of Vigor"));
private final FCheckBox cbPlant = add(new FCheckBox("Summon Plant"));
private final FLabel lblZep = add(new FLabel.Builder().text("Launch Zeppelin").font(FSkinFont.get(14)).build());
private final FLabel lblInfo = add(new FLabel.Builder().text("Select your next duel.")
.font(FSkinFont.get(16)).build());
private final FLabel lblCurrentDeck = add(new FLabel.Builder()
.text("Current deck hasn't been set yet.")
.font(FSkinFont.get(12)).build());
private final FLabel lblNextChallengeInWins = add(new FLabel.Builder()
.text("Next challenge in wins hasn't been set yet.")
.font(FSkinFont.get(12)).build());
private final FLabel btnRandomOpponent = add(new FLabel.ButtonBuilder().text("Random Duel").font(FSkinFont.get(16)).build());
public QuestDuelsScreen() { public QuestDuelsScreen() {
super("Quest Duels", QuestMenu.getMenu()); super("Quest Duels", QuestMenu.getMenu());
} }
@Override
public void onActivate() {
QuestUtil.updateQuestView(QuestMenu.getMenu());
}
@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
@@ -18,4 +49,32 @@ public class QuestDuelsScreen extends LaunchScreen {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
public IButton getBtnRandomOpponent() {
return btnRandomOpponent;
}
public IButton getLblNextChallengeInWins() {
return lblNextChallengeInWins;
}
public IButton getLblCurrentDeck() {
return lblCurrentDeck;
}
public IComboBox<String> getCbxPet() {
return cbxPet;
}
public ICheckBox getCbPlant() {
return cbPlant;
}
public ICheckBox getCbCharm() {
return cbCharm;
}
public IButton getLblZep() {
return lblZep;
}
} }

View File

@@ -21,13 +21,36 @@ import forge.toolbox.FEvent.FEventHandler;
public class QuestMenu extends FPopupMenu implements IVQuestStats { public class QuestMenu extends FPopupMenu implements IVQuestStats {
private static final QuestMenu questMenu = new QuestMenu(); private static final QuestMenu questMenu = new QuestMenu();
private static final QuestBazaarScreen bazaarScreen = new QuestBazaarScreen(); private static final QuestBazaarScreen bazaarScreen = new QuestBazaarScreen();
private static QuestChallengesScreen challengesScreen = new QuestChallengesScreen(); private static final QuestChallengesScreen challengesScreen = new QuestChallengesScreen();
private static QuestDecksScreen decksScreen = new QuestDecksScreen(); private static final QuestDecksScreen decksScreen = new QuestDecksScreen();
private static QuestDuelsScreen duelsScreen = new QuestDuelsScreen(); private static final QuestDuelsScreen duelsScreen = new QuestDuelsScreen();
private static QuestPrefsScreen prefsScreen = new QuestPrefsScreen(); private static final QuestPrefsScreen prefsScreen = new QuestPrefsScreen();
private static QuestSpellShopScreen spellShopScreen = new QuestSpellShopScreen(); private static final QuestSpellShopScreen spellShopScreen = new QuestSpellShopScreen();
private static QuestStatsScreen statsScreen = new QuestStatsScreen(); private static final QuestStatsScreen statsScreen = new QuestStatsScreen();
private static QuestTournamentsScreen tournamentsScreen = new QuestTournamentsScreen(); private static final QuestTournamentsScreen tournamentsScreen = new QuestTournamentsScreen();
private static final FMenuItem unlockSetsItem = new FMenuItem("Unlock Sets", FSkinImage.QUEST_MAP, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
}
});
private static final FMenuItem travelItem = new FMenuItem("Travel", FSkinImage.QUEST_MAP, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
}
});
private static final FMenuItem spellShopItem = new FMenuItem("Spell Shop", FSkinImage.QUEST_BOOK, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
Forge.openScreen(spellShopScreen);
}
});
private static final FMenuItem bazaarItem = new FMenuItem("Bazaar", FSkinImage.QUEST_BOTTLES, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
Forge.openScreen(bazaarScreen);
}
});
public static QuestMenu getMenu() { public static QuestMenu getMenu() {
return questMenu; return questMenu;
@@ -76,23 +99,10 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
Forge.openScreen(tournamentsScreen); Forge.openScreen(tournamentsScreen);
} }
})); }));
addItem(new FMenuItem("Travel", FSkinImage.QUEST_MAP, new FEventHandler() { addItem(unlockSetsItem);
@Override addItem(travelItem);
public void handleEvent(FEvent e) { addItem(spellShopItem);
} addItem(bazaarItem);
}));
addItem(new FMenuItem("Spell Shop", FSkinImage.QUEST_BOOK, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
Forge.openScreen(spellShopScreen);
}
}));
addItem(new FMenuItem("Bazaar", FSkinImage.QUEST_BOTTLES, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
Forge.openScreen(bazaarScreen);
}
}));
addItem(new FMenuItem("Statistics", FSkinImage.MULTI, new FEventHandler() { addItem(new FMenuItem("Statistics", FSkinImage.MULTI, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
@@ -127,32 +137,27 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
@Override @Override
public IButton getBtnRandomOpponent() { public IButton getBtnRandomOpponent() {
// TODO Auto-generated method stub return duelsScreen.getBtnRandomOpponent();
return null;
} }
@Override @Override
public IButton getBtnBazaar() { public IButton getBtnBazaar() {
// TODO Auto-generated method stub return bazaarItem;
return null;
} }
@Override @Override
public IButton getBtnSpellShop() { public IButton getBtnSpellShop() {
// TODO Auto-generated method stub return spellShopItem;
return null;
} }
@Override @Override
public IButton getBtnUnlock() { public IButton getBtnUnlock() {
// TODO Auto-generated method stub return unlockSetsItem;
return null;
} }
@Override @Override
public IButton getBtnTravel() { public IButton getBtnTravel() {
// TODO Auto-generated method stub return travelItem;
return null;
} }
@Override @Override
@@ -182,14 +187,12 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
@Override @Override
public IButton getLblNextChallengeInWins() { public IButton getLblNextChallengeInWins() {
// TODO Auto-generated method stub return duelsScreen.getLblNextChallengeInWins();
return null;
} }
@Override @Override
public IButton getLblCurrentDeck() { public IButton getLblCurrentDeck() {
// TODO Auto-generated method stub return duelsScreen.getLblCurrentDeck();
return null;
} }
@Override @Override
@@ -199,26 +202,22 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
@Override @Override
public IComboBox<String> getCbxPet() { public IComboBox<String> getCbxPet() {
// TODO Auto-generated method stub return duelsScreen.getCbxPet();
return null;
} }
@Override @Override
public ICheckBox getCbPlant() { public ICheckBox getCbPlant() {
// TODO Auto-generated method stub return duelsScreen.getCbPlant();
return null;
} }
@Override @Override
public ICheckBox getCbCharm() { public ICheckBox getCbCharm() {
// TODO Auto-generated method stub return duelsScreen.getCbCharm();
return null;
} }
@Override @Override
public IButton getLblZep() { public IButton getLblZep() {
// TODO Auto-generated method stub return duelsScreen.getLblZep();
return null;
} }
@Override @Override

View File

@@ -2,6 +2,7 @@ package forge.screens.quest;
import forge.assets.FSkinFont; import forge.assets.FSkinFont;
import forge.assets.FSkinImage; import forge.assets.FSkinImage;
import forge.quest.QuestUtil;
import forge.screens.FScreen; import forge.screens.FScreen;
import forge.toolbox.FDisplayObject; import forge.toolbox.FDisplayObject;
import forge.toolbox.FLabel; import forge.toolbox.FLabel;
@@ -27,22 +28,22 @@ public class QuestStatsScreen extends FScreen {
}); });
private final FLabel lblWins = scroller.add(new FLabel.Builder() private final FLabel lblWins = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_PLUS) .icon(FSkinImage.QUEST_PLUS)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
private final FLabel lblLosses = scroller.add(new FLabel.Builder() private final FLabel lblLosses = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_MINUS) .icon(FSkinImage.QUEST_MINUS)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
private final FLabel lblCredits = scroller.add(new FLabel.Builder() private final FLabel lblCredits = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_COINSTACK) .icon(FSkinImage.QUEST_COINSTACK)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
private final FLabel lblWinStreak = scroller.add(new FLabel.Builder() private final FLabel lblWinStreak = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_PLUSPLUS) .icon(FSkinImage.QUEST_PLUSPLUS)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
private final FLabel lblLife = scroller.add(new FLabel.Builder() private final FLabel lblLife = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_LIFE) .icon(FSkinImage.QUEST_LIFE)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
private final FLabel lblWorld = scroller.add(new FLabel.Builder() private final FLabel lblWorld = scroller.add(new FLabel.Builder()
.icon(FSkinImage.QUEST_MAP) .icon(FSkinImage.QUEST_MAP)
.font(FSkinFont.get(15)).build()); .font(FSkinFont.get(16)).iconScaleFactor(1).build());
public FLabel getLblWins() { public FLabel getLblWins() {
return lblWins; return lblWins;
@@ -67,6 +68,11 @@ public class QuestStatsScreen extends FScreen {
super("Quest Statistics", QuestMenu.getMenu()); super("Quest Statistics", QuestMenu.getMenu());
} }
@Override
public void onActivate() {
QuestUtil.updateQuestView(QuestMenu.getMenu());
}
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
scroller.setBounds(0, startY, width, height - startY); scroller.setBounds(0, startY, width, height - startY);

View File

@@ -1,5 +1,6 @@
package forge.screens.quest; package forge.screens.quest;
import forge.quest.QuestUtil;
import forge.screens.LaunchScreen; import forge.screens.LaunchScreen;
public class QuestTournamentsScreen extends LaunchScreen { public class QuestTournamentsScreen extends LaunchScreen {
@@ -7,6 +8,11 @@ public class QuestTournamentsScreen extends LaunchScreen {
super("Quest Duels", QuestMenu.getMenu()); super("Quest Duels", QuestMenu.getMenu());
} }
@Override
public void onActivate() {
QuestUtil.updateQuestView(QuestMenu.getMenu());
}
@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

View File

@@ -400,8 +400,8 @@ public class QuestUtil {
view0.getLblNextChallengeInWins().setText(str); view0.getLblNextChallengeInWins().setText(str);
view0.getLblWinStreak().setText( view0.getLblWinStreak().setText(
"<html>Win streak: " + qA.getWinStreakCurrent() "Win streak: " + qA.getWinStreakCurrent()
+ "<br>&nbsp; (Best: " + qA.getWinStreakBest() + ")</html>"); + " (Best: " + qA.getWinStreakBest() + ")");
// Current deck message // Current deck message
final IButton lblCurrentDeck = view0.getLblCurrentDeck(); final IButton lblCurrentDeck = view0.getLblCurrentDeck();