mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Fixed crash between multiple games, switching between old/new UI.
This commit is contained in:
@@ -692,6 +692,22 @@ public class GuiDisplay extends JFrame implements CardContainer, Display {
|
|||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
private void addObservers() {
|
private void addObservers() {
|
||||||
|
// Remove all observers, placed by new UI.
|
||||||
|
AllZone.getHumanPlayer().deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Hand).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Graveyard).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Library).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Battlefield).deleteObservers();
|
||||||
|
|
||||||
|
AllZone.getComputerPlayer().deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Hand).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Graveyard).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Library).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Battlefield).deleteObservers();
|
||||||
|
|
||||||
|
AllZone.getStack().deleteObservers();
|
||||||
|
AllZone.getInputControl().deleteObservers();
|
||||||
|
|
||||||
// long method
|
// long method
|
||||||
final Observer o = new Observer() {
|
final Observer o = new Observer() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -74,6 +74,22 @@ public class ControlMatchUI {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void initMatch() {
|
public void initMatch() {
|
||||||
|
// Remove all observers, placed by old UI.
|
||||||
|
AllZone.getHumanPlayer().deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Hand).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Graveyard).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Library).deleteObservers();
|
||||||
|
AllZone.getHumanPlayer().getZone(Zone.Battlefield).deleteObservers();
|
||||||
|
|
||||||
|
AllZone.getComputerPlayer().deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Hand).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Graveyard).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Library).deleteObservers();
|
||||||
|
AllZone.getComputerPlayer().getZone(Zone.Battlefield).deleteObservers();
|
||||||
|
|
||||||
|
AllZone.getStack().deleteObservers();
|
||||||
|
AllZone.getInputControl().deleteObservers();
|
||||||
|
|
||||||
// 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.getAreaSidebar().getTabber().getController().addObservers();
|
this.view.getAreaSidebar().getTabber().getController().addObservers();
|
||||||
|
|||||||
Reference in New Issue
Block a user