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