From 2e70c9735562776b0f62547b00bc8da268cedde3 Mon Sep 17 00:00:00 2001 From: Doublestrike Date: Sat, 11 Feb 2012 12:02:35 +0000 Subject: [PATCH] Adjustment: combat panel less "sticky", stack panel more "sticky". --- src/main/java/forge/AllZone.java | 4 +- src/main/java/forge/Combat.java | 2 - src/main/java/forge/ComputerAIGeneral.java | 3 - src/main/java/forge/PhaseHandler.java | 68 ++++++++++++++----- src/main/java/forge/PhaseUtil.java | 4 +- .../java/forge/gui/input/InputAttack.java | 3 +- src/main/java/forge/gui/input/InputBlock.java | 2 - src/main/java/forge/view/GuiTopLevel.java | 5 ++ .../java/forge/view/match/ViewDetail.java | 23 +------ 9 files changed, 61 insertions(+), 53 deletions(-) diff --git a/src/main/java/forge/AllZone.java b/src/main/java/forge/AllZone.java index 1456be7a443..007e574f82b 100644 --- a/src/main/java/forge/AllZone.java +++ b/src/main/java/forge/AllZone.java @@ -36,6 +36,7 @@ import forge.properties.NewConstants; import forge.quest.data.QuestData; import forge.quest.data.QuestEvent; import forge.quest.data.QuestEventManager; +import forge.view.GuiTopLevel; import forge.view.toolbox.FOverlay; /** @@ -631,10 +632,9 @@ public final class AllZone { AllZone.getDisplay().showCombat(""); AllZone.getDisplay().loadPrefs(); - AllZone.getInputControl().clearInput(); - AllZone.getColorChanger().reset(); + ((GuiTopLevel) AllZone.getDisplay()).showStack(); } /** diff --git a/src/main/java/forge/Combat.java b/src/main/java/forge/Combat.java index aa3e868e6da..cb3a05a9a3f 100644 --- a/src/main/java/forge/Combat.java +++ b/src/main/java/forge/Combat.java @@ -628,8 +628,6 @@ public class Combat { } } } - // update combat - CombatUtil.showCombat(); } // removeFromCombat() /** diff --git a/src/main/java/forge/ComputerAIGeneral.java b/src/main/java/forge/ComputerAIGeneral.java index e65f395d861..511d142a446 100644 --- a/src/main/java/forge/ComputerAIGeneral.java +++ b/src/main/java/forge/ComputerAIGeneral.java @@ -455,7 +455,6 @@ public class ComputerAIGeneral implements Computer { } AllZone.getComputerPlayer().getZone(Zone.Battlefield).updateObservers(); - CombatUtil.showCombat(); AllZone.getPhaseHandler().setNeedToNextPhase(true); } @@ -481,8 +480,6 @@ public class ComputerAIGeneral implements Computer { AllZone.setCombat(ComputerUtilBlock.getBlockers(AllZone.getCombat(), blockers)); - CombatUtil.showCombat(); - AllZone.getPhaseHandler().setNeedToNextPhase(true); } diff --git a/src/main/java/forge/PhaseHandler.java b/src/main/java/forge/PhaseHandler.java index 81566e082d5..0ea7ecad4e3 100644 --- a/src/main/java/forge/PhaseHandler.java +++ b/src/main/java/forge/PhaseHandler.java @@ -24,6 +24,7 @@ import java.util.Stack; import com.esotericsoftware.minlog.Log; import forge.Constant.Zone; +import forge.view.GuiTopLevel; /** *

@@ -316,41 +317,59 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { AllZone.getPhaseHandler().setSkipPhase(true); AllZone.getGameAction().checkStateEffects(); + // UNTAP if (phase.equals(Constant.Phase.UNTAP)) { + ((GuiTopLevel) AllZone.getDisplay()).showStack(); PhaseUtil.handleUntap(); - } else if (phase.equals(Constant.Phase.UPKEEP)) { + } + // UPKEEP + else if (phase.equals(Constant.Phase.UPKEEP)) { PhaseUtil.handleUpkeep(); - } else if (phase.equals(Constant.Phase.DRAW)) { + } + // DRAW + else if (phase.equals(Constant.Phase.DRAW)) { PhaseUtil.handleDraw(); - } else if (phase.equals(Constant.Phase.COMBAT_BEGIN)) { + } + // COMBAT_BEGIN + else if (phase.equals(Constant.Phase.COMBAT_BEGIN)) { PhaseUtil.verifyCombat(); PhaseUtil.handleCombatBegin(); - } else if (phase.equals(Constant.Phase.COMBAT_DECLARE_ATTACKERS)) { + } + // COMBAT_DECLARE_ATTACKERS + else if (phase.equals(Constant.Phase.COMBAT_DECLARE_ATTACKERS)) { PhaseUtil.handleCombatDeclareAttackers(); - } else if (phase.equals(Constant.Phase.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)) { + } + // COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY + else if (phase.equals(Constant.Phase.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)) { if (this.inCombat()) { PhaseUtil.handleDeclareAttackers(); + CombatUtil.showCombat(); } else { AllZone.getPhaseHandler().setNeedToNextPhase(true); } } - - // we can skip AfterBlockers and AfterAttackers if necessary + // COMBAT_DECLARE_BLOCKERS: we can skip AfterBlockers and AfterAttackers if necessary else if (phase.equals(Constant.Phase.COMBAT_DECLARE_BLOCKERS)) { if (this.inCombat()) { PhaseUtil.verifyCombat(); + CombatUtil.showCombat(); } else { AllZone.getPhaseHandler().setNeedToNextPhase(true); } - } else if (phase.equals(Constant.Phase.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) { + } + // COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY + else if (phase.equals(Constant.Phase.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) { // After declare blockers are finished being declared mark them // blocked and trigger blocking things - if (!this.inCombat()) { - AllZone.getPhaseHandler().setNeedToNextPhase(true); - } else { + if (this.inCombat()) { PhaseUtil.handleDeclareBlockers(); + CombatUtil.showCombat(); + } else { + AllZone.getPhaseHandler().setNeedToNextPhase(true); } - } else if (phase.equals(Constant.Phase.COMBAT_FIRST_STRIKE_DAMAGE)) { + } + // COMBAT_FIRST_STRIKE_DAMAGE + else if (phase.equals(Constant.Phase.COMBAT_FIRST_STRIKE_DAMAGE)) { if (!this.inCombat()) { AllZone.getPhaseHandler().setNeedToNextPhase(true); } else { @@ -368,7 +387,9 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { CombatUtil.showCombat(); } } - } else if (phase.equals(Constant.Phase.COMBAT_DAMAGE)) { + } + // COMBAT_DAMAGE + else if (phase.equals(Constant.Phase.COMBAT_DAMAGE)) { if (!this.inCombat()) { AllZone.getPhaseHandler().setNeedToNextPhase(true); } else { @@ -383,13 +404,25 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { AllZone.getGameAction().checkStateEffects(); CombatUtil.showCombat(); } - } else if (phase.equals(Constant.Phase.COMBAT_END)) { + } + // COMBAT_END + else if (phase.equals(Constant.Phase.COMBAT_END)) { // End Combat always happens AllZone.getEndOfCombat().executeUntil(); AllZone.getEndOfCombat().executeAt(); - } else if (phase.equals(Constant.Phase.END_OF_TURN)) { + CombatUtil.showCombat(); + ((GuiTopLevel) AllZone.getDisplay()).showStack(); + } + else if (phase.equals(Constant.Phase.MAIN2)) { + CombatUtil.showCombat(); + ((GuiTopLevel) AllZone.getDisplay()).showStack(); + } + // END_OF_TURN + else if (phase.equals(Constant.Phase.END_OF_TURN)) { AllZone.getEndOfTurn().executeAt(); - } else if (phase.equals(Constant.Phase.CLEANUP)) { + } + // CLEANUP + else if (phase.equals(Constant.Phase.CLEANUP)) { AllZone.getPhaseHandler().getPlayerTurn().clearAssignedDamage(); // Reset Damage received map @@ -444,6 +477,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { // This line fixes Combat Damage triggers not going off when they should AllZone.getStack().unfreezeStack(); + // UNTAP if (!phase.equals(Constant.Phase.UNTAP)) { // during untap this.resetPriority(); @@ -492,8 +526,8 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { } if (this.getPhase().equals(Constant.Phase.COMBAT_END)) { + ((GuiTopLevel) (AllZone.getDisplay())).showStack(); AllZone.getCombat().reset(); - AllZone.getDisplay().showCombat(""); this.resetAttackedThisCombat(this.getPlayerTurn()); this.bCombat = false; } diff --git a/src/main/java/forge/PhaseUtil.java b/src/main/java/forge/PhaseUtil.java index ae8c6c51ba2..96b6f444b14 100644 --- a/src/main/java/forge/PhaseUtil.java +++ b/src/main/java/forge/PhaseUtil.java @@ -21,8 +21,8 @@ import java.util.HashMap; import forge.Constant.Zone; import forge.view.GuiTopLevel; -import forge.view.match.ViewField.PhaseLabel; import forge.view.match.MatchTopLevel; +import forge.view.match.ViewField.PhaseLabel; /** *

@@ -205,7 +205,6 @@ public class PhaseUtil { */ public static void verifyCombat() { AllZone.getCombat().verifyCreaturesInPlay(); - CombatUtil.showCombat(); } /** @@ -354,7 +353,6 @@ public class PhaseUtil { AllZone.getStack().unfreezeStack(); AllZone.getGameLog().add("Combat", CombatUtil.getCombatBlockForLog(), 1); - CombatUtil.showCombat(); } // ***** Combat Utility ********** diff --git a/src/main/java/forge/gui/input/InputAttack.java b/src/main/java/forge/gui/input/InputAttack.java index 4cf0e7b0c90..deffdf3a19b 100644 --- a/src/main/java/forge/gui/input/InputAttack.java +++ b/src/main/java/forge/gui/input/InputAttack.java @@ -25,9 +25,9 @@ import forge.CombatUtil; import forge.Command; import forge.Constant; import forge.Constant.Zone; -import forge.view.GuiTopLevel; import forge.GameActionUtil; import forge.PlayerZone; +import forge.view.GuiTopLevel; /** *

@@ -114,7 +114,6 @@ public class InputAttack extends Input { com.execute(); } - CombatUtil.showCombat(); } else { ((GuiTopLevel) AllZone.getDisplay()).getController().getMatchController().getView().getInputController().remind(); diff --git a/src/main/java/forge/gui/input/InputBlock.java b/src/main/java/forge/gui/input/InputBlock.java index 3a5d7737a4f..7e7abd60df1 100644 --- a/src/main/java/forge/gui/input/InputBlock.java +++ b/src/main/java/forge/gui/input/InputBlock.java @@ -83,8 +83,6 @@ public class InputBlock extends Input { sb.append("To cancel a block right-click on your blocker"); AllZone.getDisplay().showMessage(sb.toString()); } - - CombatUtil.showCombat(); } /** {@inheritDoc} */ diff --git a/src/main/java/forge/view/GuiTopLevel.java b/src/main/java/forge/view/GuiTopLevel.java index 6472d320e35..227e642de51 100644 --- a/src/main/java/forge/view/GuiTopLevel.java +++ b/src/main/java/forge/view/GuiTopLevel.java @@ -212,6 +212,11 @@ public class GuiTopLevel extends JFrame implements Display, CardContainer { control.getMatchController().getView().getTabberController().getView().updateCombat(s0); } + /** */ + public void showStack() { + control.getMatchController().getView().getTabberController().showPnlStack(); + } + /* * (non-Javadoc) * diff --git a/src/main/java/forge/view/match/ViewDetail.java b/src/main/java/forge/view/match/ViewDetail.java index 2611a902d1c..bc7abe87680 100644 --- a/src/main/java/forge/view/match/ViewDetail.java +++ b/src/main/java/forge/view/match/ViewDetail.java @@ -17,10 +17,6 @@ */ package forge.view.match; -import java.awt.Font; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; - import net.miginfocom.swing.MigLayout; import forge.control.match.ControlDetail; import forge.gui.game.CardDetailPanel; @@ -50,24 +46,7 @@ public class ViewDetail extends FPanel { add(pnlDetail, "w 100%!, h 100%!"); control = new ControlDetail(this); - this.addComponentListener(new ComponentAdapter() { - @Override - public void componentResized(ComponentEvent e) { - int px = (int) (ViewDetail.this.getWidth() / 15); - px = (px < 11 ? 11 : px); - Font font = FSkin.getFont(px); - - pnlDetail.getNameCostLabel().setFont(font); - pnlDetail.getTypeLabel().setFont(font); - pnlDetail.getPowerToughnessLabel().setFont(font); - pnlDetail.getDamageLabel().setFont(font); - pnlDetail.getIDLabel().setFont(font); - pnlDetail.getSetInfoLabel().setFont(font); - pnlDetail.getCDArea().setFont(font); - - setFont(FSkin.getFont(px)); - } - }); + setFont(FSkin.getFont(12)); } /**