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.guistate.ClientSocketState;
00025 import com.realtime.crossfire.jxclient.guistate.GuiStateListener;
00026 import com.realtime.crossfire.jxclient.guistate.GuiStateManager;
00027 import com.realtime.crossfire.jxclient.items.CfItem;
00028 import com.realtime.crossfire.jxclient.items.ItemSet;
00029 import com.realtime.crossfire.jxclient.items.ItemSetListener;
00030 import com.realtime.crossfire.jxclient.window.JXCConnection;
00031 import org.jetbrains.annotations.NotNull;
00032 import org.jetbrains.annotations.Nullable;
00033
00039 public class PlayerNameTracker {
00040
00044 @NotNull
00045 private final JXCConnection connection;
00046
00050 @NotNull
00051 private final ItemSet itemSet;
00052
00056 @NotNull
00057 private final ItemSetListener itemSetListener = new ItemSetListener() {
00058
00059 @Override
00060 public void itemAdded(@NotNull final CfItem item) {
00061
00062 }
00063
00064 @Override
00065 public void itemMoved(@NotNull final CfItem item) {
00066
00067 }
00068
00069 @Override
00070 public void itemChanged(@NotNull final CfItem item) {
00071
00072 }
00073
00074 @Override
00075 public void itemRemoved(@NotNull final CfItem item) {
00076
00077 }
00078
00079 @Override
00080 public void playerChanged(@Nullable final CfItem player) {
00081 connection.setCharacter(player == null ? null : player.getName());
00082 }
00083
00084 @Override
00085 public void openContainerChanged(final int tag) {
00086
00087 }
00088
00089 };
00090
00095 @NotNull
00096 private final GuiStateListener guiStateListener = new GuiStateListener() {
00097
00098 @Override
00099 public void start() {
00100 itemSet.removeItemSetListener(itemSetListener);
00101 }
00102
00103 @Override
00104 public void metaserver() {
00105 itemSet.removeItemSetListener(itemSetListener);
00106 }
00107
00108 @Override
00109 public void preConnecting(@NotNull final String serverInfo) {
00110 connection.setHost(serverInfo);
00111 }
00112
00113 @Override
00114 public void connecting(@NotNull final String serverInfo) {
00115 itemSet.addItemSetListener(itemSetListener);
00116 }
00117
00118 @Override
00119 public void connecting(@NotNull final ClientSocketState clientSocketState) {
00120
00121 }
00122
00123 @Override
00124 public void connected() {
00125
00126 }
00127
00128 @Override
00129 public void connectFailed(@NotNull final String reason) {
00130
00131 }
00132
00133 };
00134
00141 public PlayerNameTracker(@NotNull final GuiStateManager guiStateManager, @NotNull final JXCConnection connection, @NotNull final ItemSet itemSet) {
00142 this.connection = connection;
00143 this.itemSet = itemSet;
00144 guiStateManager.addGuiStateListener(guiStateListener);
00145 }
00146
00147 }