use of games.strategy.engine.lobby.server.IModeratorController in project triplea by triplea-game.
the class LobbyGamePanel method bootGame.
private void bootGame() {
final int selectedIndex = gameTable.getSelectedRow();
if (selectedIndex == -1) {
return;
}
final int result = JOptionPane.showConfirmDialog(null, "Are you sure you want to disconnect the selected game?", "Remove Game From Lobby", JOptionPane.OK_CANCEL_OPTION);
if (result != JOptionPane.OK_OPTION) {
return;
}
final INode lobbyWatcherNode = getLobbyWatcherNodeForTableRow(selectedIndex);
final IModeratorController controller = (IModeratorController) messengers.getRemoteMessenger().getRemote(AbstractModeratorController.getModeratorControllerName());
controller.boot(lobbyWatcherNode);
JOptionPane.showMessageDialog(null, "The game you selected has been disconnected from the lobby.");
}
use of games.strategy.engine.lobby.server.IModeratorController in project triplea by triplea-game.
the class LobbyClient method isAdmin.
public boolean isAdmin() {
if (isAdmin == null) {
final IModeratorController controller = (IModeratorController) messengers.getRemoteMessenger().getRemote(ModeratorController.getModeratorControllerName());
isAdmin = controller.isAdmin();
}
return isAdmin;
}
use of games.strategy.engine.lobby.server.IModeratorController in project triplea by triplea-game.
the class LobbyMenu method addDisplayPlayersInformationMenu.
private void addDisplayPlayersInformationMenu(final JMenu parentMenu) {
final JMenuItem revive = new JMenuItem("Display Players Information");
revive.setEnabled(true);
revive.addActionListener(event -> new Thread(() -> {
final IModeratorController controller = (IModeratorController) lobbyFrame.getLobbyClient().getMessengers().getRemoteMessenger().getRemote(ModeratorController.getModeratorControllerName());
final StringBuilder builder = new StringBuilder();
builder.append("Online Players:\r\n\r\n");
for (final INode player : lobbyFrame.getChatMessagePanel().getChat().getOnlinePlayers()) {
builder.append(controller.getInformationOn(player)).append("\r\n\r\n");
}
builder.append("Players That Have Left (Last 10):\r\n\r\n");
for (final INode player : lobbyFrame.getChatMessagePanel().getChat().getPlayersThatLeft_Last10()) {
builder.append(controller.getInformationOn(player)).append("\r\n\r\n");
}
SwingUtilities.invokeLater(() -> {
final JDialog dialog = new JDialog(lobbyFrame, "Players Information");
final JTextArea label = new JTextArea(builder.toString());
label.setFont(new Font("Segoe UI", Font.PLAIN, 12));
label.setEditable(false);
label.setAutoscrolls(true);
label.setLineWrap(false);
label.setFocusable(true);
label.setWrapStyleWord(true);
label.setLocation(0, 0);
dialog.setBackground(label.getBackground());
dialog.setLayout(new BorderLayout());
final JScrollPane pane = new JScrollPane();
pane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
pane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
pane.setViewportView(label);
dialog.add(pane, BorderLayout.CENTER);
final JButton button = new JButton("Close");
button.addActionListener(e -> dialog.dispose());
button.setMinimumSize(new Dimension(100, 30));
dialog.add(button, BorderLayout.SOUTH);
dialog.setMinimumSize(new Dimension(500, 300));
dialog.setSize(new Dimension(800, 600));
dialog.setResizable(true);
dialog.setLocationRelativeTo(lobbyFrame);
dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
});
}).start());
parentMenu.add(revive);
}
use of games.strategy.engine.lobby.server.IModeratorController in project triplea by triplea-game.
the class LobbyMenu method addUnbanUsernameMenu.
private void addUnbanUsernameMenu(final JMenu parentMenu) {
final JMenuItem item = new JMenuItem("Unban Username");
item.addActionListener(e -> {
final String name = JOptionPane.showInputDialog(null, "Enter the username that you want to unban from the lobby.", "");
if (name == null || name.length() < 1) {
return;
}
if (!DBUser.isValidUserName(name)) {
JOptionPane.showMessageDialog(lobbyFrame, "The username you entered is invalid.", "Invalid Username", JOptionPane.ERROR_MESSAGE);
return;
}
final IModeratorController controller = (IModeratorController) lobbyFrame.getLobbyClient().getMessengers().getRemoteMessenger().getRemote(ModeratorController.getModeratorControllerName());
controller.banUsername(newDummyNode(name), Date.from(Instant.EPOCH));
});
item.setEnabled(true);
parentMenu.add(item);
}
use of games.strategy.engine.lobby.server.IModeratorController in project triplea by triplea-game.
the class LobbyMenu method addBanUsernameMenu.
private void addBanUsernameMenu(final JMenu parentMenu) {
final JMenuItem item = new JMenuItem("Ban Username");
item.addActionListener(e -> {
final String name = JOptionPane.showInputDialog(null, "Enter the username that you want to ban from the lobby.\r\n\r\n" + "Note that this ban is effective on any username, registered or anonymous, online or offline.", "");
if (name == null || name.length() < 1) {
return;
}
if (!DBUser.isValidUserName(name)) {
JOptionPane.showMessageDialog(lobbyFrame, "The username you entered is invalid.", "Invalid Username", JOptionPane.ERROR_MESSAGE);
return;
}
TimespanDialog.prompt(lobbyFrame, "Select Timespan", "Please consult other admins before banning longer than 1 day.", date -> {
final IModeratorController controller = (IModeratorController) lobbyFrame.getLobbyClient().getMessengers().getRemoteMessenger().getRemote(ModeratorController.getModeratorControllerName());
controller.banUsername(newDummyNode(name), date);
});
});
item.setEnabled(true);
parentMenu.add(item);
}
Aggregations