Merge branch 'master' into 'master'

[Adventure] Add Gold Indicator

See merge request core-developers/forge!6384
This commit is contained in:
Anthony Calosa
2022-03-11 04:50:42 +00:00
3 changed files with 34 additions and 23 deletions

View File

@@ -14,7 +14,6 @@ import forge.deck.Deck;
import forge.deck.DeckFormat;
import forge.deck.DeckSection;
import forge.deck.FDeckViewer;
import forge.gui.FThreads;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.itemmanager.CardManager;
@@ -30,7 +29,6 @@ import forge.menu.FMenuItem;
import forge.menu.FPopupMenu;
import forge.model.FModel;
import forge.screens.FScreen;
import forge.screens.LoadingOverlay;
import forge.screens.TabPageScreen;
import forge.toolbox.FContainer;
import forge.toolbox.FEvent;
@@ -49,6 +47,7 @@ import java.util.Map;
public static FSkinImage MAIN_DECK_ICON = Forge.hdbuttons ? FSkinImage.HDLIBRARY :FSkinImage.DECKLIST;
public static FSkinImage SIDEBOARD_ICON = Forge.hdbuttons ? FSkinImage.HDSIDEBOARD : FSkinImage.FLASHBACK;
private static final float HEADER_HEIGHT = Math.round(Utils.AVG_FINGER_HEIGHT * 0.8f);
private static final FLabel lblGold = new FLabel.Builder().text("0").icon(FSkinImage.QUEST_COINSTACK).font(FSkinFont.get(16)).insets(new Vector2(Utils.scale(5), 0)).build();
private static ItemPool<InventoryItem> decksUsingMyCards=new ItemPool<>(InventoryItem.class);
public static void leave() {
@@ -76,6 +75,7 @@ import java.util.Map;
}
}
}
lblGold.setText(String.valueOf(AdventurePlayer.current().getGold()));
}
public void refresh() {
for(TabPage<AdventureDeckEditor> page:tabPages)
@@ -196,13 +196,11 @@ import java.util.Map;
return null; //never use backdrop for editor
}
protected class DeckHeader extends FContainer {
private DeckHeader() {
setHeight(HEADER_HEIGHT);
}
boolean init;
@Override
public void drawBackground(Graphics g) {
@@ -224,6 +222,11 @@ import java.util.Map;
x += height;
//noinspection SuspiciousNameCombination
btnMoreOptions.setBounds(x, 0, height, height);
if (!init) {
add(lblGold);
init = true;
}
lblGold.setBounds(0, 0, width, height);
}
}
@@ -587,24 +590,14 @@ import java.util.Map;
@Override
public void refresh() {
FThreads.invokeInEdtLater(new Runnable() {
@Override
public void run() {
LoadingOverlay.show(Forge.getLocalizer().getInstance().getMessage("lblLoading"), new Runnable() {
@Override
public void run() {
final ItemPool<PaperCard> adventurePool = new ItemPool<>(PaperCard.class);
final ItemPool<PaperCard> adventurePool = new ItemPool<>(PaperCard.class);
adventurePool.addAll(AdventurePlayer.current().getCards());
// remove bottom cards that are in the deck from the card pool
adventurePool.removeAll(AdventurePlayer.current().getSelectedDeck().getMain());
// remove sideboard cards from the catalog
adventurePool.removeAll(AdventurePlayer.current().getSelectedDeck().getOrCreate(DeckSection.Sideboard));
cardManager.setPool(adventurePool);
}
});
}
});
adventurePool.addAll(AdventurePlayer.current().getCards());
// remove bottom cards that are in the deck from the card pool
adventurePool.removeAll(AdventurePlayer.current().getSelectedDeck().getMain());
// remove sideboard cards from the catalog
adventurePool.removeAll(AdventurePlayer.current().getSelectedDeck().getOrCreate(DeckSection.Sideboard));
cardManager.setPool(adventurePool);
}
@Override
@@ -662,7 +655,8 @@ import java.util.Map;
if (!cardManager.isInfinite()) {
removeCard(card, result);
}
AdventurePlayer.current().sellCard(card,result);
AdventurePlayer.current().sellCard(card,result);
lblGold.setText(String.valueOf(AdventurePlayer.current().getGold()));
}
});
}

View File

@@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Array;
@@ -13,6 +14,7 @@ import forge.adventure.player.AdventurePlayer;
import forge.adventure.pointofintrest.PointOfInterestChanges;
import forge.adventure.stage.GameHUD;
import forge.adventure.util.CardUtil;
import forge.adventure.util.Controls;
import forge.adventure.util.Current;
import forge.adventure.util.Reward;
import forge.adventure.util.RewardActor;
@@ -24,6 +26,7 @@ import forge.assets.ImageCache;
*/
public class RewardScene extends UIScene {
private TextButton doneButton;
private Label goldLabel;
boolean init;
public enum Type {
Shop,
@@ -99,6 +102,8 @@ public class RewardScene extends UIScene {
}
});
doneButton = ui.findActor("done");
goldLabel = new Label("0", Controls.GetSkin().get("white", Label.LabelStyle.class));
goldLabel.setBounds(0, 0, 100, 16);
this.init = true;
}
}
@@ -147,6 +152,14 @@ public class RewardScene extends UIScene {
switch (type) {
case Shop:
doneButton.setText(Forge.getLocalizer().getMessage("lblLeave"));
goldLabel.setText("Gold: " + String.valueOf(AdventurePlayer.current().getGold()));
float w = 480 - (goldLabel.getPrefWidth() + 10);
goldLabel.setPosition(w, 250);
if (!Forge.isLandscapeMode()) {
goldLabel.setFontScaleX(2);
w = 480/2 - goldLabel.getPrefWidth();
goldLabel.setPosition(w, 250);
}
break;
case Loot:
doneButton.setText(Forge.getLocalizer().getMessage("lblDone"));
@@ -215,6 +228,8 @@ public class RewardScene extends UIScene {
}
i++;
}
if (type == Type.Shop)
stage.addActor(goldLabel);
updateBuyButtons();
}
@@ -260,6 +275,7 @@ public class RewardScene extends UIScene {
reward.flip();
remove();
updateBuyButtons();
goldLabel.setText("Gold: " + String.valueOf(AdventurePlayer.current().getGold()));
}
}
});

View File

@@ -1,6 +1,7 @@
package forge.screens;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Align;