mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fixed "OK" button not receiving focus during the declare attackers step.
This commit is contained in:
@@ -17,22 +17,13 @@
|
|||||||
*/
|
*/
|
||||||
package forge.match.input;
|
package forge.match.input;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
import forge.events.UiEventAttackerDeclared;
|
import forge.events.UiEventAttackerDeclared;
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
import forge.game.GameEntityView;
|
import forge.game.GameEntityView;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.*;
|
||||||
import forge.game.card.CardCollectionView;
|
|
||||||
import forge.game.card.CardLists;
|
|
||||||
import forge.game.card.CardPredicates;
|
|
||||||
import forge.game.card.CardPredicates.Presets;
|
import forge.game.card.CardPredicates.Presets;
|
||||||
import forge.game.card.CardView;
|
|
||||||
import forge.game.combat.AttackingBand;
|
import forge.game.combat.AttackingBand;
|
||||||
import forge.game.combat.Combat;
|
import forge.game.combat.Combat;
|
||||||
import forge.game.combat.CombatUtil;
|
import forge.game.combat.CombatUtil;
|
||||||
@@ -40,8 +31,12 @@ import forge.game.player.Player;
|
|||||||
import forge.game.player.PlayerView;
|
import forge.game.player.PlayerView;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.player.PlayerControllerHuman;
|
import forge.player.PlayerControllerHuman;
|
||||||
import forge.util.collect.FCollectionView;
|
|
||||||
import forge.util.ITriggerEvent;
|
import forge.util.ITriggerEvent;
|
||||||
|
import forge.util.collect.FCollectionView;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -95,12 +90,6 @@ public class InputAttack extends InputSyncronizedBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected final boolean allowAwaitNextInput() {
|
|
||||||
//wait for opponent to declare blockers if any attackers
|
|
||||||
return !combat.getAttackers().isEmpty();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected final void onOk() {
|
protected final void onOk() {
|
||||||
// Propaganda costs could have been paid here.
|
// Propaganda costs could have been paid here.
|
||||||
@@ -114,7 +103,7 @@ public class InputAttack extends InputSyncronizedBase {
|
|||||||
//either alpha strike or undeclare all attackers based on whether any attackers have been declared
|
//either alpha strike or undeclare all attackers based on whether any attackers have been declared
|
||||||
if (canCallBackAttackers()) {
|
if (canCallBackAttackers()) {
|
||||||
//undeclare all attackers
|
//undeclare all attackers
|
||||||
List<Card> attackers = new ArrayList<Card>(combat.getAttackers()); //must copy list since it will be modified
|
List<Card> attackers = new ArrayList<>(combat.getAttackers()); //must copy list since it will be modified
|
||||||
for (Card c : attackers) {
|
for (Card c : attackers) {
|
||||||
undeclareAttacker(c);
|
undeclareAttacker(c);
|
||||||
}
|
}
|
||||||
@@ -281,7 +270,7 @@ public class InputAttack extends InputSyncronizedBase {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final void setCurrentDefender(final GameEntity def) {
|
private void setCurrentDefender(final GameEntity def) {
|
||||||
currentDefender = def;
|
currentDefender = def;
|
||||||
for (final GameEntity ge : defenders) {
|
for (final GameEntity ge : defenders) {
|
||||||
if (ge instanceof Card) {
|
if (ge instanceof Card) {
|
||||||
@@ -295,7 +284,7 @@ public class InputAttack extends InputSyncronizedBase {
|
|||||||
updateMessage();
|
updateMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
private final void activateBand(final AttackingBand band) {
|
private void activateBand(final AttackingBand band) {
|
||||||
if (activeBand != null) {
|
if (activeBand != null) {
|
||||||
for (final Card card : activeBand.getAttackers()) {
|
for (final Card card : activeBand.getAttackers()) {
|
||||||
getController().getGui().setUsedToPay(CardView.get(card), false);
|
getController().getGui().setUsedToPay(CardView.get(card), false);
|
||||||
|
|||||||
@@ -17,8 +17,6 @@
|
|||||||
*/
|
*/
|
||||||
package forge.match.input;
|
package forge.match.input;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.events.UiEventBlockerAssigned;
|
import forge.events.UiEventBlockerAssigned;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
@@ -34,6 +32,8 @@ import forge.player.PlayerControllerHuman;
|
|||||||
import forge.util.ITriggerEvent;
|
import forge.util.ITriggerEvent;
|
||||||
import forge.util.ThreadUtil;
|
import forge.util.ThreadUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Input_Block class.
|
* Input_Block class.
|
||||||
@@ -116,8 +116,7 @@ public class InputBlock extends InputSyncronizedBase {
|
|||||||
boolean isCorrectAction = false;
|
boolean isCorrectAction = false;
|
||||||
if (triggerEvent != null && triggerEvent.getButton() == 3 && card.getController() == defender) {
|
if (triggerEvent != null && triggerEvent.getButton() == 3 && card.getController() == defender) {
|
||||||
combat.removeFromCombat(card);
|
combat.removeFromCombat(card);
|
||||||
card.getGame().fireEvent(new UiEventBlockerAssigned(
|
card.getGame().fireEvent(new UiEventBlockerAssigned(CardView.get(card), null));
|
||||||
CardView.get(card), (CardView) null));
|
|
||||||
isCorrectAction = true;
|
isCorrectAction = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -132,8 +131,7 @@ public class InputBlock extends InputSyncronizedBase {
|
|||||||
if (combat.isBlocking(card, currentAttacker)) {
|
if (combat.isBlocking(card, currentAttacker)) {
|
||||||
//if creature already blocking current attacker, remove blocker from combat
|
//if creature already blocking current attacker, remove blocker from combat
|
||||||
combat.removeBlockAssignment(currentAttacker, card);
|
combat.removeBlockAssignment(currentAttacker, card);
|
||||||
card.getGame().fireEvent(new UiEventBlockerAssigned(
|
card.getGame().fireEvent(new UiEventBlockerAssigned(CardView.get(card), null));
|
||||||
CardView.get(card), (CardView) null));
|
|
||||||
isCorrectAction = true;
|
isCorrectAction = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user