mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Adjustment: combat panel less "sticky", stack panel more "sticky".
This commit is contained in:
@@ -36,6 +36,7 @@ import forge.properties.NewConstants;
|
|||||||
import forge.quest.data.QuestData;
|
import forge.quest.data.QuestData;
|
||||||
import forge.quest.data.QuestEvent;
|
import forge.quest.data.QuestEvent;
|
||||||
import forge.quest.data.QuestEventManager;
|
import forge.quest.data.QuestEventManager;
|
||||||
|
import forge.view.GuiTopLevel;
|
||||||
import forge.view.toolbox.FOverlay;
|
import forge.view.toolbox.FOverlay;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -631,10 +632,9 @@ public final class AllZone {
|
|||||||
|
|
||||||
AllZone.getDisplay().showCombat("");
|
AllZone.getDisplay().showCombat("");
|
||||||
AllZone.getDisplay().loadPrefs();
|
AllZone.getDisplay().loadPrefs();
|
||||||
|
|
||||||
AllZone.getInputControl().clearInput();
|
AllZone.getInputControl().clearInput();
|
||||||
|
|
||||||
AllZone.getColorChanger().reset();
|
AllZone.getColorChanger().reset();
|
||||||
|
((GuiTopLevel) AllZone.getDisplay()).showStack();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -628,8 +628,6 @@ public class Combat {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// update combat
|
|
||||||
CombatUtil.showCombat();
|
|
||||||
} // removeFromCombat()
|
} // removeFromCombat()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -455,7 +455,6 @@ public class ComputerAIGeneral implements Computer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AllZone.getComputerPlayer().getZone(Zone.Battlefield).updateObservers();
|
AllZone.getComputerPlayer().getZone(Zone.Battlefield).updateObservers();
|
||||||
CombatUtil.showCombat();
|
|
||||||
|
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
||||||
}
|
}
|
||||||
@@ -481,8 +480,6 @@ public class ComputerAIGeneral implements Computer {
|
|||||||
|
|
||||||
AllZone.setCombat(ComputerUtilBlock.getBlockers(AllZone.getCombat(), blockers));
|
AllZone.setCombat(ComputerUtilBlock.getBlockers(AllZone.getCombat(), blockers));
|
||||||
|
|
||||||
CombatUtil.showCombat();
|
|
||||||
|
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import java.util.Stack;
|
|||||||
import com.esotericsoftware.minlog.Log;
|
import com.esotericsoftware.minlog.Log;
|
||||||
|
|
||||||
import forge.Constant.Zone;
|
import forge.Constant.Zone;
|
||||||
|
import forge.view.GuiTopLevel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -316,41 +317,59 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
AllZone.getPhaseHandler().setSkipPhase(true);
|
AllZone.getPhaseHandler().setSkipPhase(true);
|
||||||
AllZone.getGameAction().checkStateEffects();
|
AllZone.getGameAction().checkStateEffects();
|
||||||
|
|
||||||
|
// UNTAP
|
||||||
if (phase.equals(Constant.Phase.UNTAP)) {
|
if (phase.equals(Constant.Phase.UNTAP)) {
|
||||||
|
((GuiTopLevel) AllZone.getDisplay()).showStack();
|
||||||
PhaseUtil.handleUntap();
|
PhaseUtil.handleUntap();
|
||||||
} else if (phase.equals(Constant.Phase.UPKEEP)) {
|
}
|
||||||
|
// UPKEEP
|
||||||
|
else if (phase.equals(Constant.Phase.UPKEEP)) {
|
||||||
PhaseUtil.handleUpkeep();
|
PhaseUtil.handleUpkeep();
|
||||||
} else if (phase.equals(Constant.Phase.DRAW)) {
|
}
|
||||||
|
// DRAW
|
||||||
|
else if (phase.equals(Constant.Phase.DRAW)) {
|
||||||
PhaseUtil.handleDraw();
|
PhaseUtil.handleDraw();
|
||||||
} else if (phase.equals(Constant.Phase.COMBAT_BEGIN)) {
|
}
|
||||||
|
// COMBAT_BEGIN
|
||||||
|
else if (phase.equals(Constant.Phase.COMBAT_BEGIN)) {
|
||||||
PhaseUtil.verifyCombat();
|
PhaseUtil.verifyCombat();
|
||||||
PhaseUtil.handleCombatBegin();
|
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();
|
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()) {
|
if (this.inCombat()) {
|
||||||
PhaseUtil.handleDeclareAttackers();
|
PhaseUtil.handleDeclareAttackers();
|
||||||
|
CombatUtil.showCombat();
|
||||||
} else {
|
} else {
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// COMBAT_DECLARE_BLOCKERS: we can skip AfterBlockers and AfterAttackers if necessary
|
||||||
// we can skip AfterBlockers and AfterAttackers if necessary
|
|
||||||
else if (phase.equals(Constant.Phase.COMBAT_DECLARE_BLOCKERS)) {
|
else if (phase.equals(Constant.Phase.COMBAT_DECLARE_BLOCKERS)) {
|
||||||
if (this.inCombat()) {
|
if (this.inCombat()) {
|
||||||
PhaseUtil.verifyCombat();
|
PhaseUtil.verifyCombat();
|
||||||
|
CombatUtil.showCombat();
|
||||||
} else {
|
} else {
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
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
|
// After declare blockers are finished being declared mark them
|
||||||
// blocked and trigger blocking things
|
// blocked and trigger blocking things
|
||||||
if (!this.inCombat()) {
|
if (this.inCombat()) {
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
|
||||||
} else {
|
|
||||||
PhaseUtil.handleDeclareBlockers();
|
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()) {
|
if (!this.inCombat()) {
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -368,7 +387,9 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
CombatUtil.showCombat();
|
CombatUtil.showCombat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (phase.equals(Constant.Phase.COMBAT_DAMAGE)) {
|
}
|
||||||
|
// COMBAT_DAMAGE
|
||||||
|
else if (phase.equals(Constant.Phase.COMBAT_DAMAGE)) {
|
||||||
if (!this.inCombat()) {
|
if (!this.inCombat()) {
|
||||||
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
AllZone.getPhaseHandler().setNeedToNextPhase(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -383,13 +404,25 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
AllZone.getGameAction().checkStateEffects();
|
AllZone.getGameAction().checkStateEffects();
|
||||||
CombatUtil.showCombat();
|
CombatUtil.showCombat();
|
||||||
}
|
}
|
||||||
} else if (phase.equals(Constant.Phase.COMBAT_END)) {
|
}
|
||||||
|
// COMBAT_END
|
||||||
|
else if (phase.equals(Constant.Phase.COMBAT_END)) {
|
||||||
// End Combat always happens
|
// End Combat always happens
|
||||||
AllZone.getEndOfCombat().executeUntil();
|
AllZone.getEndOfCombat().executeUntil();
|
||||||
AllZone.getEndOfCombat().executeAt();
|
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();
|
AllZone.getEndOfTurn().executeAt();
|
||||||
} else if (phase.equals(Constant.Phase.CLEANUP)) {
|
}
|
||||||
|
// CLEANUP
|
||||||
|
else if (phase.equals(Constant.Phase.CLEANUP)) {
|
||||||
AllZone.getPhaseHandler().getPlayerTurn().clearAssignedDamage();
|
AllZone.getPhaseHandler().getPlayerTurn().clearAssignedDamage();
|
||||||
|
|
||||||
// Reset Damage received map
|
// 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
|
// This line fixes Combat Damage triggers not going off when they should
|
||||||
AllZone.getStack().unfreezeStack();
|
AllZone.getStack().unfreezeStack();
|
||||||
|
|
||||||
|
// UNTAP
|
||||||
if (!phase.equals(Constant.Phase.UNTAP)) {
|
if (!phase.equals(Constant.Phase.UNTAP)) {
|
||||||
// during untap
|
// during untap
|
||||||
this.resetPriority();
|
this.resetPriority();
|
||||||
@@ -492,8 +526,8 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.getPhase().equals(Constant.Phase.COMBAT_END)) {
|
if (this.getPhase().equals(Constant.Phase.COMBAT_END)) {
|
||||||
|
((GuiTopLevel) (AllZone.getDisplay())).showStack();
|
||||||
AllZone.getCombat().reset();
|
AllZone.getCombat().reset();
|
||||||
AllZone.getDisplay().showCombat("");
|
|
||||||
this.resetAttackedThisCombat(this.getPlayerTurn());
|
this.resetAttackedThisCombat(this.getPlayerTurn());
|
||||||
this.bCombat = false;
|
this.bCombat = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
import forge.Constant.Zone;
|
import forge.Constant.Zone;
|
||||||
import forge.view.GuiTopLevel;
|
import forge.view.GuiTopLevel;
|
||||||
import forge.view.match.ViewField.PhaseLabel;
|
|
||||||
import forge.view.match.MatchTopLevel;
|
import forge.view.match.MatchTopLevel;
|
||||||
|
import forge.view.match.ViewField.PhaseLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -205,7 +205,6 @@ public class PhaseUtil {
|
|||||||
*/
|
*/
|
||||||
public static void verifyCombat() {
|
public static void verifyCombat() {
|
||||||
AllZone.getCombat().verifyCreaturesInPlay();
|
AllZone.getCombat().verifyCreaturesInPlay();
|
||||||
CombatUtil.showCombat();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -354,7 +353,6 @@ public class PhaseUtil {
|
|||||||
AllZone.getStack().unfreezeStack();
|
AllZone.getStack().unfreezeStack();
|
||||||
|
|
||||||
AllZone.getGameLog().add("Combat", CombatUtil.getCombatBlockForLog(), 1);
|
AllZone.getGameLog().add("Combat", CombatUtil.getCombatBlockForLog(), 1);
|
||||||
CombatUtil.showCombat();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***** Combat Utility **********
|
// ***** Combat Utility **********
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ import forge.CombatUtil;
|
|||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.Constant;
|
import forge.Constant;
|
||||||
import forge.Constant.Zone;
|
import forge.Constant.Zone;
|
||||||
import forge.view.GuiTopLevel;
|
|
||||||
import forge.GameActionUtil;
|
import forge.GameActionUtil;
|
||||||
import forge.PlayerZone;
|
import forge.PlayerZone;
|
||||||
|
import forge.view.GuiTopLevel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -114,7 +114,6 @@ public class InputAttack extends Input {
|
|||||||
com.execute();
|
com.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
CombatUtil.showCombat();
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
((GuiTopLevel) AllZone.getDisplay()).getController().getMatchController().getView().getInputController().remind();
|
((GuiTopLevel) AllZone.getDisplay()).getController().getMatchController().getView().getInputController().remind();
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ public class InputBlock extends Input {
|
|||||||
sb.append("To cancel a block right-click on your blocker");
|
sb.append("To cancel a block right-click on your blocker");
|
||||||
AllZone.getDisplay().showMessage(sb.toString());
|
AllZone.getDisplay().showMessage(sb.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
CombatUtil.showCombat();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
|||||||
@@ -212,6 +212,11 @@ public class GuiTopLevel extends JFrame implements Display, CardContainer {
|
|||||||
control.getMatchController().getView().getTabberController().getView().updateCombat(s0);
|
control.getMatchController().getView().getTabberController().getView().updateCombat(s0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
|
public void showStack() {
|
||||||
|
control.getMatchController().getView().getTabberController().showPnlStack();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,10 +17,6 @@
|
|||||||
*/
|
*/
|
||||||
package forge.view.match;
|
package forge.view.match;
|
||||||
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.event.ComponentAdapter;
|
|
||||||
import java.awt.event.ComponentEvent;
|
|
||||||
|
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
import forge.control.match.ControlDetail;
|
import forge.control.match.ControlDetail;
|
||||||
import forge.gui.game.CardDetailPanel;
|
import forge.gui.game.CardDetailPanel;
|
||||||
@@ -50,24 +46,7 @@ public class ViewDetail extends FPanel {
|
|||||||
add(pnlDetail, "w 100%!, h 100%!");
|
add(pnlDetail, "w 100%!, h 100%!");
|
||||||
control = new ControlDetail(this);
|
control = new ControlDetail(this);
|
||||||
|
|
||||||
this.addComponentListener(new ComponentAdapter() {
|
setFont(FSkin.getFont(12));
|
||||||
@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));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user