mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Merge branch 'master' into 'master'
Fix local Multiplayer Phase Indicator See merge request core-developers/forge!5491
This commit is contained in:
@@ -51,7 +51,6 @@ import forge.player.PlayerZoneUpdates;
|
|||||||
import forge.screens.match.views.VAssignCombatDamage;
|
import forge.screens.match.views.VAssignCombatDamage;
|
||||||
import forge.screens.match.views.VAssignGenericAmount;
|
import forge.screens.match.views.VAssignGenericAmount;
|
||||||
import forge.screens.match.views.VPhaseIndicator;
|
import forge.screens.match.views.VPhaseIndicator;
|
||||||
import forge.screens.match.views.VPhaseIndicator.PhaseLabel;
|
|
||||||
import forge.screens.match.views.VPlayerPanel;
|
import forge.screens.match.views.VPlayerPanel;
|
||||||
import forge.screens.match.views.VPlayerPanel.InfoTab;
|
import forge.screens.match.views.VPlayerPanel.InfoTab;
|
||||||
import forge.screens.match.views.VPrompt;
|
import forge.screens.match.views.VPrompt;
|
||||||
@@ -213,21 +212,8 @@ public class MatchController extends AbstractGuiGame {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePhase(boolean saveState) {
|
public void updatePhase(boolean saveState) {
|
||||||
final PlayerView p = getGameView().getPlayerTurn();
|
|
||||||
final PhaseType ph = getGameView().getPhase();
|
final PhaseType ph = getGameView().getPhase();
|
||||||
|
|
||||||
PhaseLabel lbl = null;
|
|
||||||
|
|
||||||
if(ph!=null) {
|
|
||||||
lbl = p == null ? null : view.getPlayerPanel(p).getPhaseIndicator().getLabel(ph);
|
|
||||||
} else {
|
|
||||||
System.err.println("getGameView().getPhase() returned 'null'");
|
|
||||||
}
|
|
||||||
|
|
||||||
view.resetAllPhaseButtons();
|
|
||||||
if (lbl != null) {
|
|
||||||
lbl.setActive(true);
|
|
||||||
}
|
|
||||||
if(GuiBase.isNetworkplay())
|
if(GuiBase.isNetworkplay())
|
||||||
checkStack();
|
checkStack();
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
package forge.screens.match;
|
package forge.screens.match;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import forge.animation.ForgeAnimation;
|
import forge.animation.ForgeAnimation;
|
||||||
import forge.assets.FImage;
|
import forge.assets.FImage;
|
||||||
@@ -358,6 +354,15 @@ public class MatchScreen extends FScreen {
|
|||||||
final GameView game = MatchController.instance.getGameView();
|
final GameView game = MatchController.instance.getGameView();
|
||||||
if (game == null) { return; }
|
if (game == null) { return; }
|
||||||
|
|
||||||
|
if (game.getPlayerTurn() != null && game.getPhase() != null) {
|
||||||
|
//reset phase labels
|
||||||
|
resetAllPhaseButtons();
|
||||||
|
//set phaselabel
|
||||||
|
final PhaseLabel phaseLabel = getPlayerPanel(game.getPlayerTurn()).getPhaseIndicator().getLabel(game.getPhase());
|
||||||
|
if (phaseLabel != null)
|
||||||
|
phaseLabel.setActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
if(gameMenu!=null) {
|
if(gameMenu!=null) {
|
||||||
if(gameMenu.getChildCount()>3){
|
if(gameMenu.getChildCount()>3){
|
||||||
if(viewWinLose == null) {
|
if(viewWinLose == null) {
|
||||||
@@ -395,9 +400,10 @@ public class MatchScreen extends FScreen {
|
|||||||
for (CardView card : playerPanel.getField().getRow1().getOrderedCards()) {
|
for (CardView card : playerPanel.getField().getRow1().getOrderedCards()) {
|
||||||
if (pairedCards.contains(card)) { continue; } //prevent arrows going both ways
|
if (pairedCards.contains(card)) { continue; } //prevent arrows going both ways
|
||||||
|
|
||||||
CardView paired = card.getPairedWith();
|
if (card != null) {
|
||||||
if (paired != null) {
|
if (card.getPairedWith() != null) {
|
||||||
TargetingOverlay.drawArrow(g, card, paired);
|
TargetingOverlay.drawArrow(g, card, card.getPairedWith());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,11 +97,12 @@ public class VStack extends FDropDown {
|
|||||||
|
|
||||||
public void checkEmptyStack() { //sort the bug in client when desynch happens
|
public void checkEmptyStack() { //sort the bug in client when desynch happens
|
||||||
final FCollectionView<StackItemView> stack = MatchController.instance.getGameView().getStack();
|
final FCollectionView<StackItemView> stack = MatchController.instance.getGameView().getStack();
|
||||||
if(stack!=null)
|
if(stack!=null) {
|
||||||
if(isVisible() && stack.isEmpty()) { //visible stack but empty already
|
if (isVisible() && stack.isEmpty()) { //visible stack but empty already
|
||||||
hide();
|
|
||||||
getMenuTab().setText(Localizer.getInstance().getMessage("lblStack") + " (" + 0 + ")");
|
getMenuTab().setText(Localizer.getInstance().getMessage("lblStack") + " (" + 0 + ")");
|
||||||
|
MatchController.getView().getStack().hide();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user