package magic.ui.screen.deck.editor; import magic.model.MagicDeck; final class DeckEditorController { private DeckEditorController() { } static final DeckEditorController instance = new DeckEditorController(); private DeckEditorScreen mainScreen; private MagicDeck refDeck; private MagicDeck editDeck; private void setDecks(MagicDeck aDeck) { refDeck = aDeck == null ? new MagicDeck() : aDeck; editDeck = new MagicDeck(refDeck); } void init(DeckEditorScreen screen, MagicDeck aDeck) { this.mainScreen = screen; setDecks(aDeck); } void setDeck(MagicDeck aDeck) { setDecks(aDeck); mainScreen.doRefreshViews(); } MagicDeck getDeck() { return editDeck; } boolean hasDeckChanged() { return !editDeck.equals(refDeck); } void setDeckStatusToUnsaved() { editDeck.setUnsavedStatus(); } }