00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.main;
00023
00024 import com.realtime.crossfire.jxclient.gui.commandlist.CommandList;
00025 import com.realtime.crossfire.jxclient.gui.gui.Gui;
00026 import com.realtime.crossfire.jxclient.gui.textinput.CommandCallback;
00027 import com.realtime.crossfire.jxclient.gui.textinput.NoSuchCommandException;
00028 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00029 import com.realtime.crossfire.jxclient.window.GuiManager;
00030 import org.jetbrains.annotations.NotNull;
00031
00036 public class GuiManagerCommandCallback implements CommandCallback {
00037
00041 @NotNull
00042 private final Exiter exiter;
00043
00047 @NotNull
00048 private GuiManager guiManager;
00049
00053 @NotNull
00054 private final CrossfireServerConnection server;
00055
00060 @NotNull
00061 private String lastAccountPassword = "";
00062
00068 public GuiManagerCommandCallback(@NotNull final Exiter exiter, @NotNull final CrossfireServerConnection server) {
00069 this.exiter = exiter;
00070 this.server = server;
00071 }
00072
00077 @Deprecated
00078 public void init(@NotNull final GuiManager guiManager) {
00079 this.guiManager = guiManager;
00080 }
00081
00085 @Override
00086 public void quitApplication() {
00087 exiter.terminate();
00088 }
00089
00093 @Override
00094 public void openDialog(@NotNull final Gui dialog) {
00095 guiManager.openDialog(dialog, false);
00096 }
00097
00101 @Override
00102 public void toggleDialog(@NotNull final Gui dialog) {
00103 guiManager.toggleDialog(dialog);
00104 }
00105
00109 @Override
00110 public void closeDialog(@NotNull final Gui dialog) {
00111 guiManager.closeDialog(dialog);
00112 }
00113
00117 @NotNull
00118 @Override
00119 public CommandList getCommandList(@NotNull final String args) throws NoSuchCommandException {
00120 return guiManager.getCommandList(args);
00121 }
00122
00126 @Override
00127 public void updatePlayerName(@NotNull final String playerName) {
00128 guiManager.updatePlayerName(playerName);
00129 }
00130
00134 @Override
00135 public void activateCommandInput(@NotNull final String newText) {
00136 guiManager.activateCommandInput(newText);
00137 }
00138
00142 @Override
00143 public boolean createKeyBinding(final boolean perCharacter, @NotNull final CommandList commandList) {
00144 return guiManager.createKeyBinding(perCharacter, commandList);
00145 }
00146
00150 @Override
00151 public boolean removeKeyBinding(final boolean perCharacter) {
00152 return guiManager.removeKeyBinding(perCharacter);
00153 }
00154
00158 @Override
00159 public void accountLogin(@NotNull final String login, @NotNull final String password) {
00160 server.sendAccountLogin(login, password);
00161 lastAccountPassword = password;
00162 }
00163
00167 @Override
00168 public void accountCreate(@NotNull final String login, @NotNull final String password) {
00169 server.sendAccountCreate(login, password);
00170 lastAccountPassword = password;
00171 }
00172
00176 @Override
00177 public void accountPlayCharacter(@NotNull final String name) {
00178 server.sendAccountPlay(name);
00179 }
00180
00184 @Override
00185 public void accountLink(final int force, @NotNull final String login, @NotNull final String password) {
00186 server.sendAccountLink(force, login, password);
00187 }
00188
00192 @Override
00193 public void accountCreateCharacter(@NotNull final String login) {
00194 server.sendAccountCharacterCreate(login, lastAccountPassword);
00195 }
00196
00200 @Override
00201 public void accountPassword(@NotNull final String currentPassword, @NotNull final String newPassword) {
00202 server.sendAccountPassword(currentPassword, newPassword);
00203 }
00204
00205 }