mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +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>
|
||||
*/
|
||||
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
|
||||
final Observer o = new Observer() {
|
||||
@Override
|
||||
|
||||
@@ -74,6 +74,22 @@ public class ControlMatchUI {
|
||||
*
|
||||
*/
|
||||
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
|
||||
// be added safely.
|
||||
this.view.getAreaSidebar().getTabber().getController().addObservers();
|
||||
|
||||
Reference in New Issue
Block a user