mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
consolidate deleteObservers in a deinitMatch method. Hooked this method up in the WinLoseFrame and QuestWinLoseHandler.
This commit is contained in:
@@ -41,15 +41,9 @@ public class GuiInput extends MyObservable implements Observer {
|
|||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
public GuiInput() {
|
public GuiInput() {
|
||||||
AllZone.getInputControl().deleteObservers();
|
|
||||||
AllZone.getInputControl().addObserver(this);
|
AllZone.getInputControl().addObserver(this);
|
||||||
|
|
||||||
AllZone.getStack().deleteObservers();
|
|
||||||
AllZone.getStack().addObserver(this);
|
AllZone.getStack().addObserver(this);
|
||||||
|
|
||||||
AllZone.getPhase().addObserver(this);
|
AllZone.getPhase().addObserver(this);
|
||||||
|
|
||||||
//System.out.println("Stack observers: " + AllZone.getStack().countObservers());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
|||||||
@@ -851,7 +851,6 @@ public class Phase extends MyObservable implements java.io.Serializable {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void addObserver(final Observer o) {
|
public final void addObserver(final Observer o) {
|
||||||
super.deleteObservers();
|
|
||||||
super.addObserver(o);
|
super.addObserver(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
import forge.AllZone;
|
import forge.AllZone;
|
||||||
import forge.Constant.Zone;
|
import forge.Constant.Zone;
|
||||||
|
import forge.Player;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.match.ControlField;
|
import forge.control.match.ControlField;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
@@ -75,6 +76,9 @@ public class ControlMatchUI {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void initMatch() {
|
public void initMatch() {
|
||||||
|
|
||||||
|
//printObservers("before");
|
||||||
|
|
||||||
// All child components have been assembled; observers and listeners can
|
// All child components have been assembled; observers and listeners can
|
||||||
// be added safely.
|
// be added safely.
|
||||||
this.view.getTabberController().addObservers();
|
this.view.getTabberController().addObservers();
|
||||||
@@ -100,6 +104,43 @@ public class ControlMatchUI {
|
|||||||
AllZone.getInputControl().updateObservers();
|
AllZone.getInputControl().updateObservers();
|
||||||
this.view.getTabberController().updateObservers();
|
this.view.getTabberController().updateObservers();
|
||||||
this.mapKeyboardShortcuts();
|
this.mapKeyboardShortcuts();
|
||||||
|
|
||||||
|
//printObservers("after");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void printObservers(String when) {
|
||||||
|
for (Player p : AllZone.getPlayersInGame()) {
|
||||||
|
System.out.println(p + " " + when + ": " + p.countObservers());
|
||||||
|
System.out.println(p + " " + "Battlefield " + when + ": " + p.getZone(Zone.Battlefield).countObservers());
|
||||||
|
System.out.println(p + " " + "Hand " + when + ": " + p.getZone(Zone.Hand).countObservers());
|
||||||
|
p.getZone(Zone.Hand).deleteObservers();
|
||||||
|
}
|
||||||
|
System.out.println("Stack " + when + ": " + AllZone.getStack().countObservers());
|
||||||
|
System.out.println("GameLog " + when + ": " + AllZone.getGameLog().countObservers());
|
||||||
|
System.out.println("InputControl " + when + ": " + AllZone.getInputControl().countObservers());
|
||||||
|
System.out.println("Phase " + when + ": " + AllZone.getPhase().countObservers());
|
||||||
|
|
||||||
|
System.out.println("====================================");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* TODO: Write javadoc for this method.
|
||||||
|
*/
|
||||||
|
public void deinitMatch() {
|
||||||
|
|
||||||
|
//delete player observers
|
||||||
|
for (Player p : AllZone.getPlayersInGame()) {
|
||||||
|
p.deleteObservers();
|
||||||
|
p.getZone(Zone.Battlefield).deleteObservers();
|
||||||
|
p.getZone(Zone.Hand).deleteObservers();
|
||||||
|
}
|
||||||
|
|
||||||
|
AllZone.getStack().deleteObservers();
|
||||||
|
AllZone.getGameLog().deleteObservers();
|
||||||
|
AllZone.getInputControl().deleteObservers();
|
||||||
|
AllZone.getPhase().deleteObservers();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -68,7 +68,9 @@ public class ControlWinLose {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void actionOnQuit() {
|
public void actionOnQuit() {
|
||||||
((GuiTopLevel) AllZone.getDisplay()).getController().changeState(0);
|
ControlAllUI g = ((GuiTopLevel) AllZone.getDisplay()).getController();
|
||||||
|
g.getMatchController().deinitMatch();
|
||||||
|
g.changeState(ControlAllUI.HOME_SCREEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -119,11 +119,6 @@ public class ControlField {
|
|||||||
* stats, etc.
|
* stats, etc.
|
||||||
*/
|
*/
|
||||||
public void addObservers() {
|
public void addObservers() {
|
||||||
|
|
||||||
this.player.getZone(Zone.Hand).deleteObserver(observerZones);
|
|
||||||
this.player.deleteObserver(observerDetails);
|
|
||||||
this.player.getZone(Zone.Battlefield).deleteObserver(observerPlay);
|
|
||||||
|
|
||||||
this.player.getZone(Zone.Hand).addObserver(observerZones);
|
this.player.getZone(Zone.Hand).addObserver(observerZones);
|
||||||
this.player.addObserver(observerDetails);
|
this.player.addObserver(observerDetails);
|
||||||
this.player.getZone(Zone.Battlefield).addObserver(observerPlay);
|
this.player.getZone(Zone.Battlefield).addObserver(observerPlay);
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ public class ControlHand {
|
|||||||
|
|
||||||
/** Adds observers to hand panel. */
|
/** Adds observers to hand panel. */
|
||||||
public void addObservers() {
|
public void addObservers() {
|
||||||
AllZone.getHumanPlayer().getZone(Zone.Hand).deleteObserver(o1);
|
|
||||||
AllZone.getHumanPlayer().getZone(Zone.Hand).addObserver(o1);
|
AllZone.getHumanPlayer().getZone(Zone.Hand).addObserver(o1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -111,11 +111,7 @@ public class ControlTabber extends MyObservable {
|
|||||||
|
|
||||||
/** Adds observers to tabber. */
|
/** Adds observers to tabber. */
|
||||||
public void addObservers() {
|
public void addObservers() {
|
||||||
|
|
||||||
AllZone.getStack().deleteObserver(stackObserver);
|
|
||||||
AllZone.getStack().addObserver(stackObserver);
|
AllZone.getStack().addObserver(stackObserver);
|
||||||
|
|
||||||
AllZone.getGameLog().deleteObserver(logObserver);
|
|
||||||
AllZone.getGameLog().addObserver(logObserver);
|
AllZone.getGameLog().addObserver(logObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ import forge.MyRandom;
|
|||||||
import forge.Player;
|
import forge.Player;
|
||||||
import forge.SetUtils;
|
import forge.SetUtils;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
|
import forge.control.ControlAllUI;
|
||||||
import forge.control.ControlWinLose;
|
import forge.control.ControlWinLose;
|
||||||
import forge.game.GameEndReason;
|
import forge.game.GameEndReason;
|
||||||
import forge.game.GameFormat;
|
import forge.game.GameFormat;
|
||||||
@@ -301,8 +302,10 @@ public class QuestWinLoseHandler extends ControlWinLose {
|
|||||||
|
|
||||||
this.model.qData.saveData();
|
this.model.qData.saveData();
|
||||||
|
|
||||||
((GuiTopLevel) AllZone.getDisplay()).getController().changeState(0);
|
ControlAllUI g = ((GuiTopLevel) AllZone.getDisplay()).getController();
|
||||||
((GuiTopLevel) AllZone.getDisplay()).getController().getHomeView().showQuestMenu();
|
g.getMatchController().deinitMatch();
|
||||||
|
g.changeState(ControlAllUI.HOME_SCREEN);
|
||||||
|
g.getHomeView().showQuestMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -279,11 +279,6 @@ public class WinLoseFrame extends JFrame {
|
|||||||
this.closeWinLoseFrame();
|
this.closeWinLoseFrame();
|
||||||
this.matchState.reset();
|
this.matchState.reset();
|
||||||
this.modeHandler.actionOnQuit();
|
this.modeHandler.actionOnQuit();
|
||||||
|
|
||||||
// clear Image caches, so the program doesn't get slower and slower
|
|
||||||
// not needed with soft values - will shrink as needed
|
|
||||||
// ImageUtil.rotatedCache.clear();
|
|
||||||
// ImageCache.cache.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user