mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Refactor creation of Gui and AI lobby players into GamePlayerUtil
Fix so gui player name updated Fix so multiple human players receive separate LobbyPlayerHuman instances
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This means a player's part unchanged for all games.
|
* This means a player's part unchanged for all games.
|
||||||
*
|
*
|
||||||
@@ -7,11 +9,9 @@ package forge;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public abstract class LobbyPlayer {
|
public abstract class LobbyPlayer {
|
||||||
|
protected String name;
|
||||||
protected final String name;
|
|
||||||
private int avatarIndex = -1;
|
private int avatarIndex = -1;
|
||||||
|
|
||||||
|
|
||||||
public LobbyPlayer(String name) {
|
public LobbyPlayer(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
@@ -19,6 +19,10 @@ public abstract class LobbyPlayer {
|
|||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
public void setName(String name0) {
|
||||||
|
if (StringUtils.isEmpty(name0)) { return; } //don't allow setting name to nothing
|
||||||
|
name = name0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.match.input.InputQueue;
|
import forge.match.input.InputQueue;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.screens.deckeditor.CDeckEditorUI;
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
import forge.screens.deckeditor.controllers.CEditorQuestCardShop;
|
import forge.screens.deckeditor.controllers.CEditorQuestCardShop;
|
||||||
import forge.screens.match.CMatchUI;
|
import forge.screens.match.CMatchUI;
|
||||||
@@ -250,7 +251,7 @@ public class GuiDesktop implements IGuiBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePlayerControl() {
|
public void updatePlayerControl() {
|
||||||
CMatchUI.SINGLETON_INSTANCE.initHandViews(getGuiPlayer());
|
CMatchUI.SINGLETON_INSTANCE.initHandViews(GamePlayerUtil.getGuiPlayer());
|
||||||
SLayoutIO.loadLayout(null);
|
SLayoutIO.loadLayout(null);
|
||||||
VMatchUI.SINGLETON_INSTANCE.populate();
|
VMatchUI.SINGLETON_INSTANCE.populate();
|
||||||
for (VHand h : VMatchUI.SINGLETON_INSTANCE.getHands()) {
|
for (VHand h : VMatchUI.SINGLETON_INSTANCE.getHands()) {
|
||||||
@@ -504,31 +505,6 @@ public class GuiDesktop implements IGuiBase {
|
|||||||
Desktop.getDesktop().browse(new URI(url));
|
Desktop.getDesktop().browse(new URI(url));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getGuiPlayer() {
|
|
||||||
return FControl.instance.getGuiPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getAiPlayer(String name) {
|
|
||||||
return FControl.instance.getAiPlayer(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer createAiPlayer() {
|
|
||||||
return FControl.instance.getAiPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer createAiPlayer(String name, int avatarIndex) {
|
|
||||||
return FControl.instance.getAiPlayer(name, avatarIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getQuestPlayer() {
|
|
||||||
return getGuiPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IAudioClip createAudioClip(String filename) {
|
public IAudioClip createAudioClip(String filename) {
|
||||||
return AudioClip.fileExists(filename) ? new AudioClip(filename) : null;
|
return AudioClip.fileExists(filename) ? new AudioClip(filename) : null;
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import forge.GuiBase;
|
|||||||
import forge.ImageCache;
|
import forge.ImageCache;
|
||||||
import forge.LobbyPlayer;
|
import forge.LobbyPlayer;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.ai.AiProfileUtil;
|
|
||||||
import forge.ai.LobbyPlayerAi;
|
import forge.ai.LobbyPlayerAi;
|
||||||
import forge.assets.FSkinProp;
|
import forge.assets.FSkinProp;
|
||||||
import forge.control.KeyboardShortcuts.Shortcut;
|
import forge.control.KeyboardShortcuts.Shortcut;
|
||||||
@@ -88,9 +87,6 @@ import forge.sound.SoundSystem;
|
|||||||
import forge.toolbox.FOptionPane;
|
import forge.toolbox.FOptionPane;
|
||||||
import forge.toolbox.FSkin;
|
import forge.toolbox.FSkin;
|
||||||
import forge.toolbox.special.PhaseIndicator;
|
import forge.toolbox.special.PhaseIndicator;
|
||||||
import forge.util.GuiDisplayUtil;
|
|
||||||
import forge.util.MyRandom;
|
|
||||||
import forge.util.NameGenerator;
|
|
||||||
import forge.view.FFrame;
|
import forge.view.FFrame;
|
||||||
import forge.view.FView;
|
import forge.view.FView;
|
||||||
import forge.view.IGameView;
|
import forge.view.IGameView;
|
||||||
@@ -730,38 +726,8 @@ public enum FControl implements KeyEventDispatcher {
|
|||||||
//Singletons.getView().getViewMatch().setLayoutParams(prefs.getPref(FPref.UI_LAYOUT_PARAMS));
|
//Singletons.getView().getViewMatch().setLayoutParams(prefs.getPref(FPref.UI_LAYOUT_PARAMS));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ai player creation, will stay here for a while
|
|
||||||
|
|
||||||
/** Returns a random name from the supplied list. */
|
|
||||||
public String getRandomName() {
|
|
||||||
String playerName = GuiDisplayUtil.getPlayerName();
|
|
||||||
String aiName = NameGenerator.getRandomName("Any", "Generic", playerName);
|
|
||||||
return aiName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final LobbyPlayer getAiPlayer() { return getAiPlayer(getRandomName()); }
|
|
||||||
public final LobbyPlayer getAiPlayer(String name) {
|
|
||||||
int avatarCount = GuiBase.getInterface().getAvatarCount();
|
|
||||||
return getAiPlayer(name, avatarCount == 0 ? 0 : MyRandom.getRandom().nextInt(avatarCount));
|
|
||||||
}
|
|
||||||
public final LobbyPlayer getAiPlayer(String name, int avatarIndex) {
|
|
||||||
LobbyPlayerAi player = new LobbyPlayerAi(name);
|
|
||||||
|
|
||||||
// TODO: implement specific AI profiles for quest mode.
|
|
||||||
String lastProfileChosen = FModel.getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
|
|
||||||
player.setRotateProfileEachGame(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_DUEL));
|
|
||||||
if(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_MATCH)) {
|
|
||||||
lastProfileChosen = AiProfileUtil.getRandomProfile();
|
|
||||||
System.out.println(String.format("AI profile %s was chosen for the lobby player %s.", lastProfileChosen, player.getName()));
|
|
||||||
}
|
|
||||||
player.setAiProfile(lastProfileChosen);
|
|
||||||
player.setAvatarIndex(avatarIndex);
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final LobbyPlayer guiPlayer = new LobbyPlayerHuman("Human", GuiBase.getInterface());
|
|
||||||
public final LobbyPlayer getGuiPlayer() {
|
public final LobbyPlayer getGuiPlayer() {
|
||||||
return guiPlayer;
|
return GamePlayerUtil.getGuiPlayer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package forge.screens.home.gauntlet;
|
package forge.screens.home.gauntlet;
|
||||||
|
|
||||||
import forge.GuiBase;
|
import forge.Singletons;
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
@@ -9,8 +9,9 @@ import forge.gauntlet.GauntletData;
|
|||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.interfaces.IGuiBase;
|
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@@ -102,11 +103,10 @@ public enum CSubmenuGauntletContests implements ICDoc {
|
|||||||
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
|
|
||||||
IGuiBase fc = GuiBase.getInterface();
|
starter.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(fc.getGuiPlayer()));
|
starter.add(new RegisteredPlayer(aiDeck).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(aiDeck).setPlayer(fc.createAiPlayer()));
|
|
||||||
|
|
||||||
fc.startMatch(GameType.Gauntlet, starter);
|
Singletons.getControl().startMatch(GameType.Gauntlet, starter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package forge.screens.home.gauntlet;
|
package forge.screens.home.gauntlet;
|
||||||
|
|
||||||
import forge.GuiBase;
|
import forge.Singletons;
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckType;
|
import forge.deck.DeckType;
|
||||||
@@ -11,8 +11,8 @@ import forge.gauntlet.GauntletData;
|
|||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.interfaces.IGuiBase;
|
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
@@ -130,11 +130,10 @@ public enum CSubmenuGauntletLoad implements ICDoc {
|
|||||||
});
|
});
|
||||||
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
IGuiBase fc = GuiBase.getInterface();
|
starter.add(new RegisteredPlayer(userDeck).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(userDeck).setPlayer(fc.getGuiPlayer()));
|
starter.add(new RegisteredPlayer(aiDeck).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(aiDeck).setPlayer(fc.createAiPlayer()));
|
|
||||||
|
|
||||||
fc.startMatch(GameType.Gauntlet, starter);
|
Singletons.getControl().startMatch(GameType.Gauntlet, starter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package forge.screens.home.gauntlet;
|
|||||||
|
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.FControl;
|
|
||||||
import forge.deck.DeckType;
|
import forge.deck.DeckType;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
@@ -10,6 +9,8 @@ import forge.gauntlet.GauntletData;
|
|||||||
import forge.gauntlet.GauntletUtil;
|
import forge.gauntlet.GauntletUtil;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@@ -73,11 +74,10 @@ public enum CSubmenuGauntletQuick implements ICDoc {
|
|||||||
final GauntletData gd = GauntletUtil.createQuickGauntlet(view.getLstDecks().getPlayer().getDeck(), view.getSliOpponents().getValue(), allowedDeckTypes);
|
final GauntletData gd = GauntletUtil.createQuickGauntlet(view.getLstDecks().getPlayer().getDeck(), view.getSliOpponents().getValue(), allowedDeckTypes);
|
||||||
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
FControl fc = Singletons.getControl();
|
starter.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(fc.getGuiPlayer()));
|
starter.add(new RegisteredPlayer(gd.getDecks().get(gd.getCompleted())).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(gd.getDecks().get(gd.getCompleted())).setPlayer(fc.getAiPlayer()));
|
|
||||||
|
|
||||||
fc.startMatch(GameType.Gauntlet, starter);
|
Singletons.getControl().startMatch(GameType.Gauntlet, starter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.screens.home.sanctioned;
|
package forge.screens.home.sanctioned;
|
||||||
|
|
||||||
import forge.GuiBase;
|
|
||||||
import forge.LobbyPlayer;
|
import forge.LobbyPlayer;
|
||||||
import forge.UiCommand;
|
import forge.UiCommand;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -13,12 +12,12 @@ import forge.game.GameType;
|
|||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.interfaces.IGuiBase;
|
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.menus.IMenuProvider;
|
import forge.menus.IMenuProvider;
|
||||||
import forge.menus.MenuUtil;
|
import forge.menus.MenuUtil;
|
||||||
import forge.model.CardCollections;
|
import forge.model.CardCollections;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.toolbox.FList;
|
import forge.toolbox.FList;
|
||||||
@@ -224,13 +223,12 @@ public enum CSubmenuConstructed implements ICDoc, IMenuProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IGuiBase fc = GuiBase.getInterface();
|
|
||||||
List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
||||||
for (final int i : view.getParticipants()) {
|
for (final int i : view.getParticipants()) {
|
||||||
String name = view.getPlayerName(i);
|
String name = view.getPlayerName(i);
|
||||||
LobbyPlayer lobbyPlayer = view.isPlayerAI(i)
|
LobbyPlayer lobbyPlayer = view.isPlayerAI(i)
|
||||||
? fc.createAiPlayer(name, view.getPlayerAvatar(i))
|
? GamePlayerUtil.createAiPlayer(name, view.getPlayerAvatar(i))
|
||||||
: fc.getGuiPlayer();
|
: GamePlayerUtil.getGuiPlayer(name, i);
|
||||||
RegisteredPlayer rp = view.getDeckChooser(i).getPlayer();
|
RegisteredPlayer rp = view.getDeckChooser(i).getPlayer();
|
||||||
|
|
||||||
if (variantTypes.isEmpty()) {
|
if (variantTypes.isEmpty()) {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import forge.itemmanager.ItemManagerConfig;
|
|||||||
import forge.limited.BoosterDraft;
|
import forge.limited.BoosterDraft;
|
||||||
import forge.limited.LimitedPoolType;
|
import forge.limited.LimitedPoolType;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.screens.deckeditor.CDeckEditorUI;
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
import forge.screens.deckeditor.controllers.CEditorDraftingProcess;
|
import forge.screens.deckeditor.controllers.CEditorDraftingProcess;
|
||||||
@@ -137,13 +138,13 @@ public enum CSubmenuDraft implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
starter.add(new RegisteredPlayer(humanDeck.getDeck()).setPlayer(GuiBase.getInterface().getGuiPlayer()));
|
starter.add(new RegisteredPlayer(humanDeck.getDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(aiDeck).setPlayer(GuiBase.getInterface().createAiPlayer()));
|
starter.add(new RegisteredPlayer(aiDeck).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
for (RegisteredPlayer pl : starter) {
|
for (RegisteredPlayer pl : starter) {
|
||||||
pl.assignConspiracies();
|
pl.assignConspiracies();
|
||||||
}
|
}
|
||||||
|
|
||||||
GuiBase.getInterface().startMatch(GameType.Draft, starter);
|
Singletons.getControl().startMatch(GameType.Draft, starter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.interfaces.IGuiBase;
|
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.screens.deckeditor.CDeckEditorUI;
|
import forge.screens.deckeditor.CDeckEditorUI;
|
||||||
import forge.deck.DeckProxy;
|
import forge.deck.DeckProxy;
|
||||||
@@ -20,6 +19,7 @@ import forge.toolbox.FOptionPane;
|
|||||||
import forge.itemmanager.ItemManagerConfig;
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
import forge.limited.LimitedPoolType;
|
import forge.limited.LimitedPoolType;
|
||||||
import forge.limited.WinstonDraft;
|
import forge.limited.WinstonDraft;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -128,10 +128,9 @@ public enum CSubmenuWinston implements ICDoc {
|
|||||||
throw new IllegalStateException("Draft: Computer deck is null!");
|
throw new IllegalStateException("Draft: Computer deck is null!");
|
||||||
}
|
}
|
||||||
|
|
||||||
IGuiBase fc = GuiBase.getInterface();
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
starter.add(new RegisteredPlayer(humanDeck.getDeck()).setPlayer(fc.getGuiPlayer()));
|
starter.add(new RegisteredPlayer(humanDeck.getDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(new RegisteredPlayer(aiDeck).setPlayer(fc.createAiPlayer()));
|
starter.add(new RegisteredPlayer(aiDeck).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
|
|
||||||
Singletons.getControl().startMatch(GameType.Winston, starter);
|
Singletons.getControl().startMatch(GameType.Winston, starter);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import forge.assets.FSkinProp;
|
|||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.FScreen;
|
import forge.gui.framework.FScreen;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.quest.QuestController;
|
import forge.quest.QuestController;
|
||||||
import forge.quest.QuestDraftUtils;
|
import forge.quest.QuestDraftUtils;
|
||||||
import forge.screens.home.quest.CSubmenuChallenges;
|
import forge.screens.home.quest.CSubmenuChallenges;
|
||||||
@@ -78,7 +79,7 @@ public class QuestDraftWinLose extends ControlWinLose {
|
|||||||
|
|
||||||
QuestController quest = FModel.getQuest();
|
QuestController quest = FModel.getQuest();
|
||||||
|
|
||||||
final LobbyPlayer questLobbyPlayer = GuiBase.getInterface().getQuestPlayer();
|
final LobbyPlayer questLobbyPlayer = GamePlayerUtil.getQuestPlayer();
|
||||||
final List<PlayerView> players = lastGame.getPlayers();
|
final List<PlayerView> players = lastGame.getPlayers();
|
||||||
boolean gameHadHumanPlayer = false;
|
boolean gameHadHumanPlayer = false;
|
||||||
for (final PlayerView p : players) {
|
for (final PlayerView p : players) {
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import forge.gui.SOverlayUtils;
|
|||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.gui.framework.SLayoutIO;
|
import forge.gui.framework.SLayoutIO;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.FileLocation;
|
import forge.properties.FileLocation;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.screens.match.CMatchUI;
|
import forge.screens.match.CMatchUI;
|
||||||
@@ -115,7 +116,7 @@ public enum CDock implements ICDoc {
|
|||||||
* View deck list.
|
* View deck list.
|
||||||
*/
|
*/
|
||||||
public void viewDeckList() {
|
public void viewDeckList() {
|
||||||
final Deck deck = FControl.instance.getGameView().getDeck(GuiBase.getInterface().getGuiPlayer());
|
final Deck deck = FControl.instance.getGameView().getDeck(GamePlayerUtil.getGuiPlayer());
|
||||||
if (deck != null) {
|
if (deck != null) {
|
||||||
FDeckViewer.show(deck);
|
FDeckViewer.show(deck);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import forge.game.GameType;
|
|||||||
import forge.game.Match;
|
import forge.game.Match;
|
||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.util.Lang;
|
import forge.util.Lang;
|
||||||
|
|
||||||
public class SimulateMatch {
|
public class SimulateMatch {
|
||||||
@@ -44,12 +45,13 @@ public class SimulateMatch {
|
|||||||
System.out.println(String.format("Ai-%s vs Ai_%s - %s", d1.getName(), d2.getName(), Lang.nounWithNumeral(nGames, "game")));
|
System.out.println(String.format("Ai-%s vs Ai_%s - %s", d1.getName(), d2.getName(), Lang.nounWithNumeral(nGames, "game")));
|
||||||
|
|
||||||
List<RegisteredPlayer> pp = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> pp = new ArrayList<RegisteredPlayer>();
|
||||||
pp.add(new RegisteredPlayer(d1).setPlayer(GuiBase.getInterface().createAiPlayer("Ai-" + d1.getName(), 0)));
|
pp.add(new RegisteredPlayer(d1).setPlayer(GamePlayerUtil.createAiPlayer("Ai-" + d1.getName(), 0)));
|
||||||
pp.add(new RegisteredPlayer(d2).setPlayer(GuiBase.getInterface().createAiPlayer("Ai_" + d2.getName(), 1)));
|
pp.add(new RegisteredPlayer(d2).setPlayer(GamePlayerUtil.createAiPlayer("Ai_" + d2.getName(), 1)));
|
||||||
GameRules rules = new GameRules(GameType.Constructed);
|
GameRules rules = new GameRules(GameType.Constructed);
|
||||||
Match mc = new Match(rules, pp);
|
Match mc = new Match(rules, pp);
|
||||||
for(int iGame = 0; iGame < nGames; iGame++)
|
for (int iGame = 0; iGame < nGames; iGame++) {
|
||||||
simulateSingleMatch(mc, iGame);
|
simulateSingleMatch(mc, iGame);
|
||||||
|
}
|
||||||
System.out.flush();
|
System.out.flush();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import forge.interfaces.IButton;
|
|||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.match.input.InputQueue;
|
import forge.match.input.InputQueue;
|
||||||
import forge.player.LobbyPlayerHuman;
|
|
||||||
import forge.properties.ForgeConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.screens.match.FControl;
|
import forge.screens.match.FControl;
|
||||||
import forge.screens.match.views.VPlayerPanel;
|
import forge.screens.match.views.VPlayerPanel;
|
||||||
@@ -443,32 +442,6 @@ public class GuiMobile implements IGuiBase {
|
|||||||
Gdx.net.openURI(url);
|
Gdx.net.openURI(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final LobbyPlayer guiPlayer = new LobbyPlayerHuman("Human", this);
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getGuiPlayer() {
|
|
||||||
return guiPlayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getAiPlayer(String name) {
|
|
||||||
return FControl.getAiPlayer(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer createAiPlayer() {
|
|
||||||
return FControl.getAiPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer createAiPlayer(String name, int avatarIndex) {
|
|
||||||
return FControl.getAiPlayer(name, avatarIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LobbyPlayer getQuestPlayer() {
|
|
||||||
return getGuiPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IAudioClip createAudioClip(String filename) {
|
public IAudioClip createAudioClip(String filename) {
|
||||||
return AudioClip.createClip(ForgeConstants.SOUND_DIR + filename);
|
return AudioClip.createClip(ForgeConstants.SOUND_DIR + filename);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import forge.item.PaperCard;
|
|||||||
import forge.itemmanager.CardManager;
|
import forge.itemmanager.CardManager;
|
||||||
import forge.itemmanager.DeckManager;
|
import forge.itemmanager.DeckManager;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.screens.FScreen;
|
import forge.screens.FScreen;
|
||||||
@@ -294,8 +295,8 @@ public class ConstructedScreen extends LaunchScreen {
|
|||||||
for (int i = 0; i < getNumPlayers(); i++) {
|
for (int i = 0; i < getNumPlayers(); i++) {
|
||||||
PlayerPanel playerPanel = playerPanels.get(i);
|
PlayerPanel playerPanel = playerPanels.get(i);
|
||||||
String name = getPlayerName(i);
|
String name = getPlayerName(i);
|
||||||
LobbyPlayer lobbyPlayer = playerPanel.isPlayerAI() ? GuiBase.getInterface().createAiPlayer(name,
|
LobbyPlayer lobbyPlayer = playerPanel.isPlayerAI() ? GamePlayerUtil.createAiPlayer(name,
|
||||||
getPlayerAvatar(i)) : GuiBase.getInterface().getGuiPlayer();
|
getPlayerAvatar(i)) : GamePlayerUtil.getGuiPlayer(name, i);
|
||||||
RegisteredPlayer rp = playerPanel.deckChooser.getPlayer();
|
RegisteredPlayer rp = playerPanel.deckChooser.getPlayer();
|
||||||
|
|
||||||
if (appliedVariants.isEmpty()) {
|
if (appliedVariants.isEmpty()) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import forge.gauntlet.GauntletData;
|
|||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gauntlet.GauntletUtil;
|
import forge.gauntlet.GauntletUtil;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.quest.QuestUtil;
|
import forge.quest.QuestUtil;
|
||||||
import forge.screens.LaunchScreen;
|
import forge.screens.LaunchScreen;
|
||||||
import forge.screens.settings.SettingsScreen;
|
import forge.screens.settings.SettingsScreen;
|
||||||
@@ -270,8 +271,8 @@ public class GauntletScreen extends LaunchScreen {
|
|||||||
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
protected boolean buildLaunchParams(LaunchParams launchParams) {
|
||||||
final GauntletData gauntlet = FModel.getGauntletData();
|
final GauntletData gauntlet = FModel.getGauntletData();
|
||||||
launchParams.gameType = GameType.Gauntlet;
|
launchParams.gameType = GameType.Gauntlet;
|
||||||
launchParams.players.add(new RegisteredPlayer(gauntlet.getUserDeck()).setPlayer(GuiBase.getInterface().getGuiPlayer()));
|
launchParams.players.add(new RegisteredPlayer(gauntlet.getUserDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
launchParams.players.add(new RegisteredPlayer(gauntlet.getDecks().get(gauntlet.getCompleted())).setPlayer(GuiBase.getInterface().createAiPlayer()));
|
launchParams.players.add(new RegisteredPlayer(gauntlet.getDecks().get(gauntlet.getCompleted())).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import forge.Forge;
|
|||||||
import forge.Graphics;
|
import forge.Graphics;
|
||||||
import forge.GuiBase;
|
import forge.GuiBase;
|
||||||
import forge.LobbyPlayer;
|
import forge.LobbyPlayer;
|
||||||
import forge.ai.AiProfileUtil;
|
|
||||||
import forge.ai.LobbyPlayerAi;
|
import forge.ai.LobbyPlayerAi;
|
||||||
import forge.assets.FImage;
|
import forge.assets.FImage;
|
||||||
import forge.assets.FSkin;
|
import forge.assets.FSkin;
|
||||||
@@ -49,6 +48,7 @@ import forge.game.zone.ZoneType;
|
|||||||
import forge.match.input.InputPlaybackControl;
|
import forge.match.input.InputPlaybackControl;
|
||||||
import forge.match.input.InputQueue;
|
import forge.match.input.InputQueue;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.player.PlayerControllerHuman;
|
import forge.player.PlayerControllerHuman;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
@@ -65,7 +65,6 @@ import forge.toolbox.FDisplayObject;
|
|||||||
import forge.toolbox.FOptionPane;
|
import forge.toolbox.FOptionPane;
|
||||||
import forge.util.Callback;
|
import forge.util.Callback;
|
||||||
import forge.util.GuiDisplayUtil;
|
import forge.util.GuiDisplayUtil;
|
||||||
import forge.util.MyRandom;
|
|
||||||
import forge.util.NameGenerator;
|
import forge.util.NameGenerator;
|
||||||
import forge.util.WaitCallback;
|
import forge.util.WaitCallback;
|
||||||
import forge.view.CardView;
|
import forge.view.CardView;
|
||||||
@@ -841,29 +840,9 @@ public class FControl {
|
|||||||
String aiName = NameGenerator.getRandomName("Any", "Generic", playerName);
|
String aiName = NameGenerator.getRandomName("Any", "Generic", playerName);
|
||||||
return aiName;
|
return aiName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static LobbyPlayer getAiPlayer() { return getAiPlayer(getRandomName()); }
|
|
||||||
public final static LobbyPlayer getAiPlayer(String name) {
|
|
||||||
int avatarCount = GuiBase.getInterface().getAvatarCount();
|
|
||||||
return getAiPlayer(name, avatarCount == 0 ? 0 : MyRandom.getRandom().nextInt(avatarCount));
|
|
||||||
}
|
|
||||||
public final static LobbyPlayer getAiPlayer(String name, int avatarIndex) {
|
|
||||||
LobbyPlayerAi player = new LobbyPlayerAi(name);
|
|
||||||
|
|
||||||
// TODO: implement specific AI profiles for quest mode.
|
|
||||||
String lastProfileChosen = FModel.getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
|
|
||||||
player.setRotateProfileEachGame(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_DUEL));
|
|
||||||
if(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_MATCH)) {
|
|
||||||
lastProfileChosen = AiProfileUtil.getRandomProfile();
|
|
||||||
System.out.println(String.format("AI profile %s was chosen for the lobby player %s.", lastProfileChosen, player.getName()));
|
|
||||||
}
|
|
||||||
player.setAiProfile(lastProfileChosen);
|
|
||||||
player.setAvatarIndex(avatarIndex);
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final static LobbyPlayer getGuiPlayer() {
|
public final static LobbyPlayer getGuiPlayer() {
|
||||||
return GuiBase.getInterface().getGuiPlayer();
|
return GamePlayerUtil.getGuiPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static FImage getPlayerAvatar(final PlayerView p) {
|
public static FImage getPlayerAvatar(final PlayerView p) {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.screens.match.views;
|
package forge.screens.match.views;
|
||||||
|
|
||||||
import forge.GuiBase;
|
|
||||||
import forge.LobbyPlayer;
|
import forge.LobbyPlayer;
|
||||||
import forge.assets.FSkinImage;
|
import forge.assets.FSkinImage;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
@@ -10,6 +9,7 @@ import forge.game.player.Player;
|
|||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.menu.FDropDownMenu;
|
import forge.menu.FDropDownMenu;
|
||||||
import forge.menu.FMenuItem;
|
import forge.menu.FMenuItem;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.screens.match.FControl;
|
import forge.screens.match.FControl;
|
||||||
import forge.screens.settings.SettingsScreen;
|
import forge.screens.settings.SettingsScreen;
|
||||||
import forge.toolbox.FEvent;
|
import forge.toolbox.FEvent;
|
||||||
@@ -48,7 +48,7 @@ public class VGameMenu extends FDropDownMenu {
|
|||||||
addItem(new FMenuItem("Deck List", FSkinImage.DECKLIST, new FEventHandler() {
|
addItem(new FMenuItem("Deck List", FSkinImage.DECKLIST, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
final LobbyPlayer guiPlayer = GuiBase.getInterface().getGuiPlayer();
|
final LobbyPlayer guiPlayer = GamePlayerUtil.getGuiPlayer();
|
||||||
final Deck deck = FControl.getGameView().getDeck(guiPlayer);
|
final Deck deck = FControl.getGameView().getDeck(guiPlayer);
|
||||||
if (deck != null) {
|
if (deck != null) {
|
||||||
FDeckViewer.show(deck);
|
FDeckViewer.show(deck);
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import java.util.List;
|
|||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;
|
import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;
|
||||||
|
|
||||||
import forge.Graphics;
|
import forge.Graphics;
|
||||||
import forge.GuiBase;
|
|
||||||
import forge.assets.FSkinColor;
|
import forge.assets.FSkinColor;
|
||||||
import forge.assets.FSkinFont;
|
import forge.assets.FSkinFont;
|
||||||
import forge.assets.FSkinImage;
|
import forge.assets.FSkinImage;
|
||||||
import forge.assets.FSkinColor.Colors;
|
import forge.assets.FSkinColor.Colors;
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.screens.match.FControl;
|
import forge.screens.match.FControl;
|
||||||
import forge.toolbox.FDisplayObject;
|
import forge.toolbox.FDisplayObject;
|
||||||
import forge.view.PlayerView;
|
import forge.view.PlayerView;
|
||||||
@@ -81,7 +81,7 @@ public class VManaPool extends VDisplayArea {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean tap(float x, float y, int count) {
|
public boolean tap(float x, float y, int count) {
|
||||||
if (player.getLobbyPlayer() == GuiBase.getInterface().getGuiPlayer()) {
|
if (player.getLobbyPlayer() == GamePlayerUtil.getGuiPlayer()) {
|
||||||
FControl.getGameView().useMana(colorCode);
|
FControl.getGameView().useMana(colorCode);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.match.input.ButtonUtil;
|
import forge.match.input.ButtonUtil;
|
||||||
import forge.match.input.InputBase;
|
import forge.match.input.InputBase;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.util.Lang;
|
import forge.util.Lang;
|
||||||
import forge.util.gui.SGuiChoose;
|
import forge.util.gui.SGuiChoose;
|
||||||
@@ -309,7 +310,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
|
|||||||
@Override
|
@Override
|
||||||
public Void visit(GameEventAttackersDeclared event) {
|
public Void visit(GameEventAttackersDeclared event) {
|
||||||
// Skip redraw for GUI player?
|
// Skip redraw for GUI player?
|
||||||
if (event.player.getLobbyPlayer() == gui.getGuiPlayer()) {
|
if (event.player.getLobbyPlayer() == GamePlayerUtil.getGuiPlayer()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import forge.interfaces.IButton;
|
|||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.interfaces.IWinLoseView;
|
import forge.interfaces.IWinLoseView;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.view.IGameView;
|
import forge.view.IGameView;
|
||||||
|
|
||||||
public abstract class GauntletWinLoseController {
|
public abstract class GauntletWinLoseController {
|
||||||
@@ -48,7 +49,7 @@ public abstract class GauntletWinLoseController {
|
|||||||
// the player can restart Forge to replay a match.
|
// the player can restart Forge to replay a match.
|
||||||
// Pretty sure this can't be fixed until in-game states can be
|
// Pretty sure this can't be fixed until in-game states can be
|
||||||
// saved. Doublestrike 07-10-12
|
// saved. Doublestrike 07-10-12
|
||||||
LobbyPlayer questPlayer = gui.getQuestPlayer();
|
LobbyPlayer questPlayer = GamePlayerUtil.getGuiPlayer();
|
||||||
|
|
||||||
// In all cases, update stats.
|
// In all cases, update stats.
|
||||||
lstEventRecords.set(gd.getCompleted(), lastGame.getGamesWonBy(questPlayer) + " - "
|
lstEventRecords.set(gd.getCompleted(), lastGame.getGamesWonBy(questPlayer) + " - "
|
||||||
@@ -115,8 +116,8 @@ public abstract class GauntletWinLoseController {
|
|||||||
GauntletData gd = FModel.getGauntletData();
|
GauntletData gd = FModel.getGauntletData();
|
||||||
Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
||||||
List<RegisteredPlayer> players = Lists.newArrayList();
|
List<RegisteredPlayer> players = Lists.newArrayList();
|
||||||
players.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(gui.getGuiPlayer()));
|
players.add(new RegisteredPlayer(gd.getUserDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
players.add(new RegisteredPlayer(aiDeck).setPlayer(gui.createAiPlayer()));
|
players.add(new RegisteredPlayer(aiDeck).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
|
|
||||||
view.hide();
|
view.hide();
|
||||||
saveOptions();
|
saveOptions();
|
||||||
|
|||||||
@@ -90,11 +90,6 @@ public interface IGuiBase {
|
|||||||
int getAvatarCount();
|
int getAvatarCount();
|
||||||
void copyToClipboard(String text);
|
void copyToClipboard(String text);
|
||||||
void browseToUrl(String url) throws Exception;
|
void browseToUrl(String url) throws Exception;
|
||||||
LobbyPlayer getGuiPlayer();
|
|
||||||
LobbyPlayer getAiPlayer(String name);
|
|
||||||
LobbyPlayer createAiPlayer();
|
|
||||||
LobbyPlayer createAiPlayer(String name, int avatarIndex);
|
|
||||||
LobbyPlayer getQuestPlayer();
|
|
||||||
IAudioClip createAudioClip(String filename);
|
IAudioClip createAudioClip(String filename);
|
||||||
IAudioMusic createAudioMusic(String filename);
|
IAudioMusic createAudioMusic(String filename);
|
||||||
void startAltSoundSystem(String filename, boolean isSynchronized);
|
void startAltSoundSystem(String filename, boolean isSynchronized);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import forge.game.GameType;
|
|||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -139,8 +140,8 @@ public class GauntletMini {
|
|||||||
*/
|
*/
|
||||||
private void startRound() {
|
private void startRound() {
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
starter.add(new RegisteredPlayer(humanDeck).setPlayer(gui.getGuiPlayer()));
|
starter.add(new RegisteredPlayer(humanDeck).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
starter.add(aiOpponents.get(currentRound - 1).setPlayer(gui.createAiPlayer()));
|
starter.add(aiOpponents.get(currentRound - 1).setPlayer(GamePlayerUtil.createAiPlayer()));
|
||||||
|
|
||||||
gui.startMatch(gauntletType, starter);
|
gui.startMatch(gauntletType, starter);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import forge.interfaces.IButton;
|
|||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.interfaces.IWinLoseView;
|
import forge.interfaces.IWinLoseView;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.view.IGameView;
|
import forge.view.IGameView;
|
||||||
|
|
||||||
public abstract class LimitedWinLoseController {
|
public abstract class LimitedWinLoseController {
|
||||||
@@ -19,7 +20,7 @@ public abstract class LimitedWinLoseController {
|
|||||||
lastGame = game0;
|
lastGame = game0;
|
||||||
this.gui = gui;
|
this.gui = gui;
|
||||||
gauntlet = FModel.getGauntletMini(gui);
|
gauntlet = FModel.getGauntletMini(gui);
|
||||||
wonMatch = lastGame.isMatchWonBy(gui.getGuiPlayer());
|
wonMatch = lastGame.isMatchWonBy(GamePlayerUtil.getGuiPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showOutcome() {
|
public void showOutcome() {
|
||||||
@@ -31,7 +32,7 @@ public abstract class LimitedWinLoseController {
|
|||||||
resetView();
|
resetView();
|
||||||
nextRound = false;
|
nextRound = false;
|
||||||
|
|
||||||
if (lastGame.isWinner(gui.getGuiPlayer())) {
|
if (lastGame.isWinner(GamePlayerUtil.getGuiPlayer())) {
|
||||||
gauntlet.addWin();
|
gauntlet.addWin();
|
||||||
} else {
|
} else {
|
||||||
gauntlet.addLoss();
|
gauntlet.addLoss();
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import forge.game.card.Card;
|
|||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.player.PlayerControllerHuman;
|
import forge.player.PlayerControllerHuman;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.util.ITriggerEvent;
|
import forge.util.ITriggerEvent;
|
||||||
@@ -100,7 +101,7 @@ public class InputPassPriority extends InputSyncronizedBase {
|
|||||||
final Game game = player.getGame();
|
final Game game = player.getGame();
|
||||||
if (game.getStack().isEmpty()) { //phase can't end right now if stack isn't empty
|
if (game.getStack().isEmpty()) { //phase can't end right now if stack isn't empty
|
||||||
Player player = game.getPhaseHandler().getPriorityPlayer();
|
Player player = game.getPhaseHandler().getPriorityPlayer();
|
||||||
if (player != null && player.getManaPool().willManaBeLostAtEndOfPhase() && player.getLobbyPlayer() == getGui().getGuiPlayer()) {
|
if (player != null && player.getManaPool().willManaBeLostAtEndOfPhase() && player.getLobbyPlayer() == GamePlayerUtil.getGuiPlayer()) {
|
||||||
ThreadUtil.invokeInGameThread(new Runnable() { //must invoke in game thread so dialog can be shown on mobile game
|
ThreadUtil.invokeInGameThread(new Runnable() { //must invoke in game thread so dialog can be shown on mobile game
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.interfaces.IProgressBar;
|
import forge.interfaces.IProgressBar;
|
||||||
import forge.itemmanager.ItemManagerConfig;
|
import forge.itemmanager.ItemManagerConfig;
|
||||||
import forge.limited.GauntletMini;
|
import forge.limited.GauntletMini;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgeConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
@@ -91,6 +92,7 @@ public class FModel {
|
|||||||
//Preferences are initialized first so that the splash screen can be translated.
|
//Preferences are initialized first so that the splash screen can be translated.
|
||||||
try {
|
try {
|
||||||
preferences = new ForgePreferences();
|
preferences = new ForgePreferences();
|
||||||
|
GamePlayerUtil.getGuiPlayer().setName(preferences.getPref(FPref.PLAYER_NAME));
|
||||||
}
|
}
|
||||||
catch (final Exception exn) {
|
catch (final Exception exn) {
|
||||||
throw new RuntimeException(exn);
|
throw new RuntimeException(exn);
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
package forge.player;
|
package forge.player;
|
||||||
|
|
||||||
|
import forge.GuiBase;
|
||||||
|
import forge.LobbyPlayer;
|
||||||
|
import forge.ai.AiProfileUtil;
|
||||||
|
import forge.ai.LobbyPlayerAi;
|
||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.properties.ForgePreferences;
|
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.util.GuiDisplayUtil;
|
||||||
|
import forge.util.MyRandom;
|
||||||
import forge.util.gui.SOptionPane;
|
import forge.util.gui.SOptionPane;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -11,10 +16,51 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
public final class GamePlayerUtil {
|
public final class GamePlayerUtil {
|
||||||
private GamePlayerUtil() { };
|
private GamePlayerUtil() { };
|
||||||
|
|
||||||
private final static ForgePreferences prefs = FModel.getPreferences();
|
private static final LobbyPlayer guiPlayer = new LobbyPlayerHuman("Human", GuiBase.getInterface());
|
||||||
|
public static final LobbyPlayer getGuiPlayer() {
|
||||||
|
return guiPlayer;
|
||||||
|
}
|
||||||
|
public static final LobbyPlayer getGuiPlayer(String name, int index) {
|
||||||
|
if (index == 0) {
|
||||||
|
if (!name.equals(guiPlayer.getName())) {
|
||||||
|
guiPlayer.setName(name);
|
||||||
|
FModel.getPreferences().setPref(FPref.PLAYER_NAME, name);
|
||||||
|
FModel.getPreferences().save();
|
||||||
|
}
|
||||||
|
return guiPlayer;
|
||||||
|
}
|
||||||
|
//use separate LobbyPlayerHuman instance for human players beyond first
|
||||||
|
return new LobbyPlayerHuman(name, GuiBase.getInterface());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final LobbyPlayer getQuestPlayer() {
|
||||||
|
return guiPlayer; //TODO: Make this a separate player
|
||||||
|
}
|
||||||
|
|
||||||
|
public final static LobbyPlayer createAiPlayer() {
|
||||||
|
return createAiPlayer(GuiDisplayUtil.getRandomAiName());
|
||||||
|
}
|
||||||
|
public final static LobbyPlayer createAiPlayer(String name) {
|
||||||
|
int avatarCount = GuiBase.getInterface().getAvatarCount();
|
||||||
|
return createAiPlayer(name, avatarCount == 0 ? 0 : MyRandom.getRandom().nextInt(avatarCount));
|
||||||
|
}
|
||||||
|
public final static LobbyPlayer createAiPlayer(String name, int avatarIndex) {
|
||||||
|
LobbyPlayerAi player = new LobbyPlayerAi(name);
|
||||||
|
|
||||||
|
// TODO: implement specific AI profiles for quest mode.
|
||||||
|
String lastProfileChosen = FModel.getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
|
||||||
|
player.setRotateProfileEachGame(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_DUEL));
|
||||||
|
if (lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_MATCH)) {
|
||||||
|
lastProfileChosen = AiProfileUtil.getRandomProfile();
|
||||||
|
System.out.println(String.format("AI profile %s was chosen for the lobby player %s.", lastProfileChosen, player.getName()));
|
||||||
|
}
|
||||||
|
player.setAiProfile(lastProfileChosen);
|
||||||
|
player.setAvatarIndex(avatarIndex);
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
public static void setPlayerName(final IGuiBase gui) {
|
public static void setPlayerName(final IGuiBase gui) {
|
||||||
String oldPlayerName = prefs.getPref(FPref.PLAYER_NAME);
|
String oldPlayerName = FModel.getPreferences().getPref(FPref.PLAYER_NAME);
|
||||||
String newPlayerName = null;
|
String newPlayerName = null;
|
||||||
|
|
||||||
if (StringUtils.isBlank(oldPlayerName)) {
|
if (StringUtils.isBlank(oldPlayerName)) {
|
||||||
@@ -23,13 +69,12 @@ public final class GamePlayerUtil {
|
|||||||
newPlayerName = getVerifiedPlayerName(getPlayerNameUsingStandardPrompt(gui, oldPlayerName), oldPlayerName);
|
newPlayerName = getVerifiedPlayerName(getPlayerNameUsingStandardPrompt(gui, oldPlayerName), oldPlayerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
prefs.setPref(FPref.PLAYER_NAME, newPlayerName);
|
FModel.getPreferences().setPref(FPref.PLAYER_NAME, newPlayerName);
|
||||||
prefs.save();
|
FModel.getPreferences().save();
|
||||||
|
|
||||||
if (StringUtils.isBlank(oldPlayerName) && newPlayerName != "Human") {
|
if (StringUtils.isBlank(oldPlayerName) && newPlayerName != "Human") {
|
||||||
showThankYouPrompt(gui, newPlayerName);
|
showThankYouPrompt(gui, newPlayerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void showThankYouPrompt(final IGuiBase gui, final String playerName) {
|
private static void showThankYouPrompt(final IGuiBase gui, final String playerName) {
|
||||||
|
|||||||
@@ -1299,7 +1299,7 @@ public class PlayerControllerHuman extends PlayerController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isGuiPlayer() {
|
public boolean isGuiPlayer() {
|
||||||
return lobbyPlayer == getGui().getGuiPlayer();
|
return lobbyPlayer == GamePlayerUtil.getGuiPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.item.PreconDeck;
|
import forge.item.PreconDeck;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgeConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.quest.bazaar.QuestBazaarManager;
|
import forge.quest.bazaar.QuestBazaarManager;
|
||||||
import forge.quest.bazaar.QuestItemType;
|
import forge.quest.bazaar.QuestItemType;
|
||||||
@@ -481,7 +482,7 @@ public class QuestController {
|
|||||||
if (ev instanceof GameEventMulligan) {
|
if (ev instanceof GameEventMulligan) {
|
||||||
GameEventMulligan mev = (GameEventMulligan) ev;
|
GameEventMulligan mev = (GameEventMulligan) ev;
|
||||||
// First mulligan is free
|
// First mulligan is free
|
||||||
if (mev.player.getLobbyPlayer() == gui.getGuiPlayer()
|
if (mev.player.getLobbyPlayer() == GamePlayerUtil.getGuiPlayer()
|
||||||
&& getAssets().hasItem(QuestItemType.SLEIGHT) && mev.player.getStats().getMulliganCount() < 7) {
|
&& getAssets().hasItem(QuestItemType.SLEIGHT) && mev.player.getStats().getMulliganCount() < 7) {
|
||||||
mev.player.drawCard();
|
mev.player.drawCard();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import forge.game.Match;
|
|||||||
import forge.game.player.RegisteredPlayer;
|
import forge.game.player.RegisteredPlayer;
|
||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.util.storage.IStorage;
|
import forge.util.storage.IStorage;
|
||||||
|
|
||||||
@@ -145,12 +146,12 @@ public class QuestDraftUtils {
|
|||||||
if (humanIndex > -1) {
|
if (humanIndex > -1) {
|
||||||
|
|
||||||
matchup.hasHumanPlayer = true;
|
matchup.hasHumanPlayer = true;
|
||||||
matchup.matchStarter.add(new RegisteredPlayer(decks.getHumanDeck()).setPlayer(gui.getGuiPlayer()));
|
matchup.matchStarter.add(new RegisteredPlayer(decks.getHumanDeck()).setPlayer(GamePlayerUtil.getGuiPlayer()));
|
||||||
|
|
||||||
int aiName = Integer.parseInt(draft.getStandings()[aiIndex]) - 1;
|
int aiName = Integer.parseInt(draft.getStandings()[aiIndex]) - 1;
|
||||||
|
|
||||||
int aiDeckIndex = Integer.parseInt(draft.getStandings()[aiIndex]) - 1;
|
int aiDeckIndex = Integer.parseInt(draft.getStandings()[aiIndex]) - 1;
|
||||||
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(gui.createAiPlayer(draft.getAINames()[aiName], draft.getAIIcons()[aiName])));
|
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(GamePlayerUtil.createAiPlayer(draft.getAINames()[aiName], draft.getAIIcons()[aiName])));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -158,10 +159,10 @@ public class QuestDraftUtils {
|
|||||||
int aiName2 = Integer.parseInt(draft.getStandings()[player2]) - 1;
|
int aiName2 = Integer.parseInt(draft.getStandings()[player2]) - 1;
|
||||||
|
|
||||||
int aiDeckIndex = Integer.parseInt(draft.getStandings()[player1]) - 1;
|
int aiDeckIndex = Integer.parseInt(draft.getStandings()[player1]) - 1;
|
||||||
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(gui.createAiPlayer(draft.getAINames()[aiName1], draft.getAIIcons()[aiName1])));
|
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(GamePlayerUtil.createAiPlayer(draft.getAINames()[aiName1], draft.getAIIcons()[aiName1])));
|
||||||
|
|
||||||
aiDeckIndex = Integer.parseInt(draft.getStandings()[player2]) - 1;
|
aiDeckIndex = Integer.parseInt(draft.getStandings()[player2]) - 1;
|
||||||
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(gui.createAiPlayer(draft.getAINames()[aiName2], draft.getAIIcons()[aiName2])));
|
matchup.matchStarter.add(new RegisteredPlayer(decks.getAiDecks().get(aiDeckIndex)).setPlayer(GamePlayerUtil.createAiPlayer(draft.getAINames()[aiName2], draft.getAIIcons()[aiName2])));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import forge.limited.BoosterDraft;
|
|||||||
import forge.limited.LimitedPoolType;
|
import forge.limited.LimitedPoolType;
|
||||||
import forge.model.CardBlock;
|
import forge.model.CardBlock;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.quest.data.QuestPreferences.QPref;
|
import forge.quest.data.QuestPreferences.QPref;
|
||||||
import forge.quest.io.ReadPriceList;
|
import forge.quest.io.ReadPriceList;
|
||||||
import forge.util.NameGenerator;
|
import forge.util.NameGenerator;
|
||||||
@@ -801,7 +802,7 @@ public class QuestEventDraft {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<String> usedNames = new ArrayList<>();
|
List<String> usedNames = new ArrayList<>();
|
||||||
usedNames.add(quest.getGui().getGuiPlayer().getName());
|
usedNames.add(GamePlayerUtil.getGuiPlayer().getName());
|
||||||
|
|
||||||
for (int i = 0; i < 7; i++) {
|
for (int i = 0; i < 7; i++) {
|
||||||
event.aiNames[i] = NameGenerator.getRandomName("Any", "Any", usedNames);
|
event.aiNames[i] = NameGenerator.getRandomName("Any", "Any", usedNames);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
import forge.item.PaperToken;
|
import forge.item.PaperToken;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.quest.bazaar.IQuestBazaarItem;
|
import forge.quest.bazaar.IQuestBazaarItem;
|
||||||
import forge.quest.bazaar.QuestItemType;
|
import forge.quest.bazaar.QuestItemType;
|
||||||
@@ -564,9 +565,9 @@ public class QuestUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
starter.add(humanStart.setPlayer(gui.getQuestPlayer()));
|
starter.add(humanStart.setPlayer(GamePlayerUtil.getQuestPlayer()));
|
||||||
|
|
||||||
LobbyPlayer aiPlayer = gui.getAiPlayer(event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
LobbyPlayer aiPlayer = GamePlayerUtil.createAiPlayer(event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
||||||
gui.setPlayerAvatar(aiPlayer, event);
|
gui.setPlayerAvatar(aiPlayer, event);
|
||||||
starter.add(aiStart.setPlayer(aiPlayer));
|
starter.add(aiStart.setPlayer(aiPlayer));
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import forge.interfaces.IGuiBase;
|
|||||||
import forge.interfaces.IWinLoseView;
|
import forge.interfaces.IWinLoseView;
|
||||||
import forge.item.*;
|
import forge.item.*;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.quest.bazaar.QuestItemType;
|
import forge.quest.bazaar.QuestItemType;
|
||||||
import forge.quest.data.QuestPreferences;
|
import forge.quest.data.QuestPreferences;
|
||||||
@@ -47,7 +48,7 @@ public abstract class QuestWinLoseController {
|
|||||||
this.gui = gui;
|
this.gui = gui;
|
||||||
qData = FModel.getQuest();
|
qData = FModel.getQuest();
|
||||||
qEvent = qData.getCurrentEvent();
|
qEvent = qData.getCurrentEvent();
|
||||||
wonMatch = lastGame.isMatchWonBy(gui.getQuestPlayer());
|
wonMatch = lastGame.isMatchWonBy(GamePlayerUtil.getQuestPlayer());
|
||||||
isAnte = FModel.getPreferences().getPrefBoolean(FPref.UI_ANTE);
|
isAnte = FModel.getPreferences().getPrefBoolean(FPref.UI_ANTE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +62,7 @@ public abstract class QuestWinLoseController {
|
|||||||
qc.getCards().getShopList();
|
qc.getCards().getShopList();
|
||||||
}
|
}
|
||||||
|
|
||||||
final LobbyPlayer questLobbyPlayer = gui.getQuestPlayer();
|
final LobbyPlayer questLobbyPlayer = GamePlayerUtil.getQuestPlayer();
|
||||||
PlayerView player = null;
|
PlayerView player = null;
|
||||||
for (final PlayerView p : lastGame.getPlayers()) {
|
for (final PlayerView p : lastGame.getPlayers()) {
|
||||||
if (p.getLobbyPlayer().equals(questLobbyPlayer)) {
|
if (p.getLobbyPlayer().equals(questLobbyPlayer)) {
|
||||||
@@ -236,7 +237,7 @@ public abstract class QuestWinLoseController {
|
|||||||
boolean hasNeverLost = true;
|
boolean hasNeverLost = true;
|
||||||
int lifeDifferenceCredits = 0;
|
int lifeDifferenceCredits = 0;
|
||||||
|
|
||||||
final LobbyPlayer localHuman = gui.getQuestPlayer();
|
final LobbyPlayer localHuman = GamePlayerUtil.getQuestPlayer();
|
||||||
for (final GameOutcome game : lastGame.getOutcomesOfMatch()) {
|
for (final GameOutcome game : lastGame.getOutcomesOfMatch()) {
|
||||||
if (!game.isWinner(localHuman)) {
|
if (!game.isWinner(localHuman)) {
|
||||||
hasNeverLost = false;
|
hasNeverLost = false;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import forge.events.UiEvent;
|
|||||||
import forge.game.event.GameEvent;
|
import forge.game.event.GameEvent;
|
||||||
import forge.interfaces.IGuiBase;
|
import forge.interfaces.IGuiBase;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import forge.player.GamePlayerUtil;
|
||||||
import forge.properties.ForgeConstants;
|
import forge.properties.ForgeConstants;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|
||||||
@@ -29,7 +30,7 @@ public class SoundSystem {
|
|||||||
|
|
||||||
public SoundSystem(final IGuiBase gui) {
|
public SoundSystem(final IGuiBase gui) {
|
||||||
this.gui = gui;
|
this.gui = gui;
|
||||||
this.visualizer = new EventVisualizer(gui.getGuiPlayer());
|
this.visualizer = new EventVisualizer(GamePlayerUtil.getGuiPlayer());
|
||||||
}
|
}
|
||||||
private boolean isUsingAltSystem() {
|
private boolean isUsingAltSystem() {
|
||||||
return FModel.getPreferences().getPrefBoolean(FPref.UI_ALT_SOUND_SYSTEM);
|
return FModel.getPreferences().getPrefBoolean(FPref.UI_ALT_SOUND_SYSTEM);
|
||||||
|
|||||||
@@ -33,5 +33,9 @@ public final class GuiDisplayUtil {
|
|||||||
final String playerName = FModel.getPreferences().getPref(FPref.PLAYER_NAME);
|
final String playerName = FModel.getPreferences().getPref(FPref.PLAYER_NAME);
|
||||||
return text.replaceAll("(?i)human", playerName);
|
return text.replaceAll("(?i)human", playerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getRandomAiName() {
|
||||||
|
return NameGenerator.getRandomName("Any", "Generic", getPlayerName());
|
||||||
|
}
|
||||||
|
|
||||||
} // end class GuiDisplayUtil
|
} // end class GuiDisplayUtil
|
||||||
|
|||||||
Reference in New Issue
Block a user