Support displaying tournaments

Make display of credits number consistent
This commit is contained in:
drdev
2016-07-10 23:03:22 +00:00
parent 123e7bcb01
commit e57e95a054
14 changed files with 139 additions and 71 deletions

View File

@@ -105,7 +105,7 @@ public class QuestBazaarScreen extends TabPageScreen<QuestBazaarScreen> {
}
final QuestAssets qS = qData.getAssets();
lblCredits.setText("Credits: " + qS.getCredits());
lblCredits.setText("Credits: " + QuestUtil.formatCredits(qS.getCredits()));
lblLife.setText("Life: " + qS.getLife(qData.getMode()));
final List<IQuestBazaarItem> items = qData.getBazaar().getItems(qData, stallDef.getName());

View File

@@ -9,8 +9,7 @@ import forge.assets.FSkinColor;
import forge.assets.FSkinFont;
import forge.assets.FSkinColor.Colors;
import forge.assets.ImageCache;
import forge.quest.QuestEvent;
import forge.quest.QuestUtil;
import forge.quest.IQuestEvent;
import forge.screens.settings.SettingsScreen;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FEvent;
@@ -36,20 +35,20 @@ class QuestEventPanel extends FDisplayObject {
private static final float RADIO_BUTTON_RADIUS = Utils.AVG_FINGER_WIDTH / 4;
private static final float MIN_HEIGHT = 2 * Utils.AVG_FINGER_HEIGHT;
private final QuestEvent event;
private final IQuestEvent event;
private final FImage img;
private Container container;
public QuestEventPanel(final QuestEvent e0, final Container container0) {
public QuestEventPanel(final IQuestEvent e0, final Container container0) {
event = e0;
img = ImageCache.getIcon(e0);
img = event.hasImage() ? ImageCache.getIcon(e0) : null;
container = container0;
if (container.selectedPanel == null) {
setSelected(true); //select first panel in container by default
}
}
public QuestEvent getEvent() {
public IQuestEvent getEvent() {
return event;
}
@@ -64,7 +63,7 @@ class QuestEventPanel extends FDisplayObject {
}
else if (selected0) {
container.selectedPanel = this;
QuestUtil.setEvent(event);
event.select();
}
}
@@ -83,22 +82,27 @@ class QuestEventPanel extends FDisplayObject {
float h = getHeight();
g.fillGradientRect(GRADIENT_LEFT_COLOR, GRADIENT_RIGHT_COLOR, false, 0, 0, w, h);
//draw icon
float x = PADDING;
float y = PADDING;
float imageSize = h - 2 * PADDING;
float maxImageSize = w / 3;
if (imageSize > maxImageSize) { //ensure image doesn't take up too much space
y += (imageSize - maxImageSize) / 2;
imageSize = maxImageSize;
//draw image if needed
if (img != null) {
float imageSize = h - 2 * PADDING;
float maxImageSize = w / 3;
if (imageSize > maxImageSize) { //ensure image doesn't take up too much space
y += (imageSize - maxImageSize) / 2;
imageSize = maxImageSize;
}
g.drawImage(img, x, y, imageSize, imageSize);
//shift title to the right of and slightly below the top of the icon
x += imageSize + 2 * PADDING;
y = 2 * PADDING;
}
g.drawImage(img, x, y, imageSize, imageSize);
//draw title
x += imageSize + 2 * PADDING;
y = 2 * PADDING;
w -= x + 2 * (RADIO_BUTTON_RADIUS + PADDING);
String title = event.getTitle() + " (" + event.getDifficulty().getTitle() + ")";
String title = event.getFullTitle();
g.drawText(title, TITLE_FONT, TITLE_COLOR, x, y, w, h, false, HAlignment.LEFT, false);
//draw description

View File

@@ -119,7 +119,7 @@ public class QuestSpellShopScreen extends TabPageScreen<QuestSpellShopScreen> {
}
public void updateCreditsLabel() {
String credits = "Credits: " + FModel.getQuest().getAssets().getCredits();
String credits = "Credits: " + QuestUtil.formatCredits(FModel.getQuest().getAssets().getCredits());
spellShopPage.lblCredits.setText(credits);
inventoryPage.lblCredits.setText(credits);
}
@@ -170,7 +170,7 @@ public class QuestSpellShopScreen extends TabPageScreen<QuestSpellShopScreen> {
private static abstract class SpellShopBasePage extends TabPage<QuestSpellShopScreen> {
protected final SpellShopManager itemManager;
protected FLabel lblCredits = new FLabel.Builder().icon(FSkinImage.QUEST_COINSTACK).iconScaleFactor(1f).font(FSkinFont.get(16)).build();
protected FLabel lblCredits = new FLabel.Builder().icon(FSkinImage.QUEST_COINSTACK).iconScaleFactor(0.75f).font(FSkinFont.get(16)).build();
protected SpellShopBasePage(String caption0, FImage icon0, boolean isShop0) {
super(caption0, icon0);

View File

@@ -29,7 +29,7 @@ import forge.util.Utils;
public class QuestTournamentsScreen extends QuestLaunchScreen implements IQuestTournamentView {
private final FLabel lblCredits = add(new FLabel.Builder().icon(FSkinImage.QUEST_COINSTACK)
.iconScaleFactor(1f).font(FSkinFont.get(16)).build());
.iconScaleFactor(0.75f).font(FSkinFont.get(16)).build());
private final FLabel lblTokens = add(new FLabel.Builder()
.align(HAlignment.RIGHT).font(FSkinFont.get(16)).build());
@@ -115,13 +115,18 @@ public class QuestTournamentsScreen extends QuestLaunchScreen implements IQuestT
@Override
public void updateEventList(QuestEventDraftContainer events) {
pnlTournaments.clear();
if (events == null) { return; }
/*for (QuestEventDraft event : events) {
pnlTournaments.add(new QuestEventPanel(event, pnlTournaments));
}*/
if (events != null) {
for (QuestEventDraft event : events) {
pnlTournaments.add(new QuestEventPanel(event, pnlTournaments));
}
}
pnlTournaments.revalidate();
boolean hasTournaments = pnlTournaments.getChildCount() > 0;
pnlTournaments.setVisible(hasTournaments);
lblNoTournaments.setVisible(!hasTournaments);
}
@Override