package magic.ui.screen.duel.game;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import magic.translate.MText;
import magic.ui.ScreenController;
import magic.ui.ScreenOptionsOverlay;
import magic.ui.screen.widget.MenuPanel;
@SuppressWarnings("serial")
class GameOptionsOverlay extends ScreenOptionsOverlay {
// translatable strings
private static final String _S1 = "Game Options";
private static final String _S2 = "Concede game";
private static final String _S3 = "Restart game";
private static final String _S7 = "Sidebar Layout";
private static final String _S8 = "Resume game";
private static final String _S9 = "Gameplay Report";
private final SwingGameController controller;
GameOptionsOverlay(SwingGameController controller) {
this.controller = controller;
controller.setGamePaused(true);
}
@Override
protected MenuPanel getScreenMenu() {
final MenuPanel menu = new MenuPanel(MText.get(_S1));
menu.addMenuItem(MText.get(_S2), new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent e) {
controller.concede();
hideOverlay();
}
});
menu.addMenuItem(MText.get(_S3), new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent e) {
controller.resetGame();
hideOverlay();
}
});
menu.addMenuItem(MText.get(_S7), new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent e) {
hideOverlay();
ScreenController.showDuelSidebarDialog(controller);
}
});
menu.addBlankItem();
menu.addMenuItem(MText.get(_S9), new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent e) {
controller.createGameplayReport();
hideOverlay();
}
});
menu.addBlankItem();
menu.addMenuItem(MText.get(_S8), new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent e) {
hideOverlay();
}
});
menu.refreshLayout();
return menu;
}
@Override
protected boolean showPreferencesOption() {
return true;
}
@Override
public void hideOverlay() {
setVisible(false);
controller.setGamePaused(false);
}
}