Merge branch 'bo1' into 'master'

Add "best of 1 (or 5)" option to Constructed

See merge request core-developers/forge!5871
This commit is contained in:
Michael Kamensky
2021-11-25 18:18:48 +00:00
9 changed files with 19 additions and 5 deletions

View File

@@ -11,11 +11,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Vector; import java.util.Vector;
import javax.swing.JButton; import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
@@ -84,6 +80,8 @@ public class VLobby implements ILobbyView {
private final StartButton btnStart = new StartButton(); private final StartButton btnStart = new StartButton();
private final JPanel pnlStart = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); private final JPanel pnlStart = new JPanel(new MigLayout("insets 0, gap 0, wrap 2"));
private final JComboBox gamesInMatch = new JComboBox(new String[] {"1","3","5"});
private final JPanel gamesInMatchFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2"));
private final JPanel constructedFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); // Main content frame private final JPanel constructedFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); // Main content frame
// Variants frame and variables // Variants frame and variables
@@ -212,11 +210,19 @@ public class VLobby implements ILobbyView {
public final void actionPerformed(final ActionEvent arg0) { public final void actionPerformed(final ActionEvent arg0) {
Runnable startGame = lobby.startGame(); Runnable startGame = lobby.startGame();
if (startGame != null) { if (startGame != null) {
if (!gamesInMatch.getSelectedItem().equals(ForgePreferences.FPref.UI_MATCHES_PER_GAME)) {
FModel.getPreferences().setPref(FPref.UI_MATCHES_PER_GAME, (String) gamesInMatch.getSelectedItem());
}
startGame.run(); startGame.run();
} }
} }
}); });
} }
gamesInMatchFrame.add(newLabel(localizer.getMessage("lblGamesInMatch")), "w 150px!, h 30px!");
gamesInMatchFrame.add(gamesInMatch, "w 50px!, h 30px!");
gamesInMatchFrame.setOpaque(false);
gamesInMatch.setSelectedItem("3");
pnlStart.add(gamesInMatchFrame);
} }
public void updateDeckPanel() { public void updateDeckPanel() {

View File

@@ -286,6 +286,7 @@ lblTryAgain=Neu
lblAddAPlayer=Spieler hinzufügen lblAddAPlayer=Spieler hinzufügen
lblVariants=Varianten lblVariants=Varianten
lblRandom=Zufällig lblRandom=Zufällig
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=Constructed-Modus lblConstructedMode=Constructed-Modus
lblConstructed=Constructed lblConstructed=Constructed

View File

@@ -287,6 +287,7 @@ lblTryAgain=Try Again
lblAddAPlayer=Add a Player lblAddAPlayer=Add a Player
lblVariants=Variants lblVariants=Variants
lblRandom=Random lblRandom=Random
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=Constructed Mode lblConstructedMode=Constructed Mode
lblConstructed=Constructed lblConstructed=Constructed

View File

@@ -287,6 +287,7 @@ lblTryAgain=Probar de nuevo
lblAddAPlayer=Añadir jugador lblAddAPlayer=Añadir jugador
lblVariants=Variantes lblVariants=Variantes
lblRandom=Aleatorio lblRandom=Aleatorio
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=Modo Construido lblConstructedMode=Modo Construido
lblConstructed=Construido lblConstructed=Construido

View File

@@ -286,6 +286,7 @@ lblTryAgain=Riprova
lblAddAPlayer=Aggiungi un giocatore lblAddAPlayer=Aggiungi un giocatore
lblVariants=Varianti lblVariants=Varianti
lblRandom=Casuale lblRandom=Casuale
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=Modalità costruita lblConstructedMode=Modalità costruita
lblConstructed=Costruito lblConstructed=Costruito

View File

@@ -287,6 +287,7 @@ lblTryAgain=再試行
lblAddAPlayer=プレーヤーを追加 lblAddAPlayer=プレーヤーを追加
lblVariants=バリエーション lblVariants=バリエーション
lblRandom=ランダム lblRandom=ランダム
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=構築戦 lblConstructedMode=構築戦
lblConstructed=構築戦 lblConstructed=構築戦

View File

@@ -287,6 +287,7 @@ lblTryAgain=再试一次
lblAddAPlayer=增加一个玩家 lblAddAPlayer=增加一个玩家
lblVariants=变种 lblVariants=变种
lblRandom=随机 lblRandom=随机
lblGamesInMatch=Games in match:
#VSubmenuConstructed.java #VSubmenuConstructed.java
lblConstructedMode=构筑模式 lblConstructedMode=构筑模式
lblConstructed=构筑 lblConstructed=构筑

View File

@@ -89,6 +89,7 @@ public class HostedMatch {
gameRules.setSideboardForAI(FModel.getPreferences().getPrefBoolean(FPref.MATCH_SIDEBOARD_FOR_AI)); gameRules.setSideboardForAI(FModel.getPreferences().getPrefBoolean(FPref.MATCH_SIDEBOARD_FOR_AI));
gameRules.setCanCloneUseTargetsImage(FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE)); gameRules.setCanCloneUseTargetsImage(FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE));
gameRules.setUseGrayText(FModel.getPreferences().getPrefBoolean(FPref.UI_GRAY_INACTIVE_TEXT)); gameRules.setUseGrayText(FModel.getPreferences().getPrefBoolean(FPref.UI_GRAY_INACTIVE_TEXT));
gameRules.setGamesPerMatch(FModel.getPreferences().getPrefInt(FPref.UI_MATCHES_PER_GAME));
return gameRules; return gameRules;
} }

View File

@@ -68,6 +68,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
BRAWL_P7_DECK_STATE(""), BRAWL_P7_DECK_STATE(""),
BRAWL_P8_DECK_STATE(""), BRAWL_P8_DECK_STATE(""),
UI_LANDSCAPE_MODE ("false"), UI_LANDSCAPE_MODE ("false"),
UI_MATCHES_PER_GAME("3"),
UI_COMPACT_MAIN_MENU ("false"), UI_COMPACT_MAIN_MENU ("false"),
UI_USE_OLD ("false"), UI_USE_OLD ("false"),
UI_RANDOM_FOIL ("false"), UI_RANDOM_FOIL ("false"),