📄 botgui.java
字号:
package megamek.client.bot.ui.swing;import megamek.client.bot.BotClient;import megamek.client.bot.Messages;import megamek.client.ui.swing.CommonHelpDialog;import megamek.client.ui.swing.ConfirmDialog;import megamek.client.ui.swing.GUIPreferences;import megamek.common.IGame;import megamek.common.event.GameBoardChangeEvent;import megamek.common.event.GameBoardNewEvent;import megamek.common.event.GameEndEvent;import megamek.common.event.GameEntityChangeEvent;import megamek.common.event.GameEntityNewEvent;import megamek.common.event.GameEntityNewOffboardEvent;import megamek.common.event.GameEntityRemoveEvent;import megamek.common.event.GameListener;import megamek.common.event.GameMapQueryEvent;import megamek.common.event.GameNewActionEvent;import megamek.common.event.GamePhaseChangeEvent;import megamek.common.event.GamePlayerChangeEvent;import megamek.common.event.GamePlayerChatEvent;import megamek.common.event.GamePlayerConnectedEvent;import megamek.common.event.GamePlayerDisconnectedEvent;import megamek.common.event.GameReportEvent;import megamek.common.event.GameSettingsChangeEvent;import megamek.common.event.GameTurnChangeEvent;import javax.swing.JFrame;import java.awt.Dimension;import java.io.File;public class BotGUI implements GameListener { private BotClient bot; private JFrame frame = new JFrame(); private static boolean WarningShown; public BotGUI(BotClient bot) { this.bot = bot; } /* (non-Javadoc) * @see megamek.common.GameListener#gamePhaseChange(megamek.common.GamePhaseChangeEvent) */ public void gamePhaseChange(GamePhaseChangeEvent e) { if (bot.game.getPhase() == IGame.PHASE_LOUNGE || bot.game.getPhase() == IGame.PHASE_STARTING_SCENARIO) { notifyOfBot(); } } public void notifyOfBot() { if (GUIPreferences.getInstance().getNagForBotReadme() && !WarningShown) { WarningShown = true; String title = Messages.getString("BotGUI.notifyOfBot.title"); //$NON-NLS-1$ String body = Messages.getString("BotGUI.notifyOfBot.message"); //$NON-NLS-1$ Dimension screenSize = frame.getToolkit().getScreenSize(); frame.pack(); frame.setLocation(screenSize.width / 2 - frame.getSize().width / 2, screenSize.height / 2 - frame.getSize().height / 2); ConfirmDialog confirm = new ConfirmDialog(frame, title, body, true); confirm.setVisible(true); if (!confirm.getShowAgain()) { GUIPreferences.getInstance().setNagForBotReadme(false); } if (confirm.getAnswer()) { File helpfile = new File("docs/ai-readme.txt"); //$NON-NLS-1$ new CommonHelpDialog(frame, helpfile).setVisible(true); } } } public void gamePlayerConnected(GamePlayerConnectedEvent e) { } public void gamePlayerDisconnected(GamePlayerDisconnectedEvent e) { } public void gamePlayerChange(GamePlayerChangeEvent e) { } public void gamePlayerChat(GamePlayerChatEvent e) { } public void gameTurnChange(GameTurnChangeEvent e) { } public void gameReport(GameReportEvent e) { } public void gameEnd(GameEndEvent e) { } public void gameBoardNew(GameBoardNewEvent e) { } public void gameBoardChanged(GameBoardChangeEvent e) { } public void gameSettingsChange(GameSettingsChangeEvent e) { } public void gameMapQuery(GameMapQueryEvent e) { } public void gameEntityNew(GameEntityNewEvent e) { } public void gameEntityNewOffboard(GameEntityNewOffboardEvent e) { } public void gameEntityChange(GameEntityChangeEvent e) { } public void gameNewAction(GameNewActionEvent e) { } public void gameEntityRemove(GameEntityRemoveEvent e) { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -