mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
PhaseHandler isNextTurn(PlayerType) marked as deprecated. (There are many players of same type in a game)
local player is assigned at beginning of a match instead of being calculated each time.
This commit is contained in:
@@ -1782,7 +1782,7 @@ public final class AbilityFactoryChangeZone {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
for (Card aura : c.getEnchantedBy()) {
|
||||
if (c.getOwner().isHuman() && aura.getController().isComputer()) {
|
||||
if (c.getOwner().isHuman() && aura.getController().equals(ai)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1714,7 +1714,7 @@ public class AbilityFactoryPermanentState {
|
||||
|
||||
final Card source = sa.getSourceCard();
|
||||
final HashMap<String, String> params = af.getMapParams();
|
||||
Player opp = ai.getOpponent();
|
||||
final Player opp = ai.getOpponent();
|
||||
|
||||
if (Singletons.getModel().getGame().getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_BEGIN)) {
|
||||
return false;
|
||||
@@ -1748,13 +1748,13 @@ public class AbilityFactoryPermanentState {
|
||||
final List<Card> human = CardLists.filter(validTappables, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
return c.getController().isHuman();
|
||||
return c.getController().equals(opp);
|
||||
}
|
||||
});
|
||||
final List<Card> compy = CardLists.filter(validTappables, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
return c.getController().isComputer();
|
||||
return c.getController().equals(ai);
|
||||
}
|
||||
});
|
||||
if (human.size() > compy.size()) {
|
||||
|
||||
@@ -34,7 +34,6 @@ import javax.swing.WindowConstants;
|
||||
import forge.Singletons;
|
||||
import forge.control.KeyboardShortcuts.Shortcut;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerType;
|
||||
import forge.gui.deckeditor.CDeckEditorUI;
|
||||
import forge.gui.deckeditor.VDeckEditorUI;
|
||||
import forge.gui.framework.SOverflowUtil;
|
||||
@@ -49,7 +48,6 @@ import forge.properties.ForgeProps;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.quest.data.QuestPreferences.QPref;
|
||||
import forge.quest.io.QuestDataIO;
|
||||
import forge.util.Aggregates;
|
||||
import forge.view.FView;
|
||||
|
||||
/**
|
||||
@@ -270,11 +268,9 @@ public enum FControl {
|
||||
}
|
||||
|
||||
/** @return {@link forge.game.player.Player} */
|
||||
private Player localPlayer;
|
||||
public Player getPlayer() {
|
||||
if (Singletons.getModel() == null)
|
||||
return null;
|
||||
|
||||
return Aggregates.firstFieldEquals(Singletons.getModel().getGame().getPlayers(), Player.Accessors.FN_GET_TYPE, PlayerType.HUMAN);
|
||||
return localPlayer;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -287,4 +283,12 @@ public enum FControl {
|
||||
lobby = new Lobby();
|
||||
return lobby;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this method.
|
||||
* @param localHuman
|
||||
*/
|
||||
public void setPlayer(Player localHuman) {
|
||||
localPlayer = localHuman;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import forge.deck.Deck;
|
||||
import forge.error.ErrorViewer;
|
||||
import forge.game.player.LobbyPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerType;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiInput;
|
||||
import forge.gui.framework.EDocID;
|
||||
@@ -28,6 +29,7 @@ import forge.gui.match.controllers.CStack;
|
||||
import forge.gui.match.nonsingleton.VField;
|
||||
import forge.gui.match.views.VAntes;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
import forge.util.Aggregates;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
@@ -104,7 +106,8 @@ public class MatchController {
|
||||
startConditions.put(p, players.get(p.getLobbyPlayer()));
|
||||
|
||||
try {
|
||||
Player localHuman = Singletons.getControl().getPlayer();
|
||||
Player localHuman = Aggregates.firstFieldEquals(currentGame.getPlayers(), Player.Accessors.FN_GET_TYPE, PlayerType.HUMAN);
|
||||
FControl.SINGLETON_INSTANCE.setPlayer(localHuman);
|
||||
CMatchUI.SINGLETON_INSTANCE.initMatch(currentGame.getPlayers(), localHuman);
|
||||
CDock.SINGLETON_INSTANCE.onGameStarts(currentGame, localHuman);
|
||||
Singletons.getModel().getPreferences().actuateMatchPreferences();
|
||||
|
||||
@@ -661,6 +661,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
||||
* a {@link forge.game.player.Player} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
@Deprecated
|
||||
public final boolean isNextTurn(final PlayerType pt) {
|
||||
final Player next = this.getNextTurn();
|
||||
return next.getType() == pt;
|
||||
|
||||
@@ -186,6 +186,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
//@Deprecated
|
||||
public abstract boolean isComputer();
|
||||
public abstract PlayerType getType();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user