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.queue.CommandQueue;
00028 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00029 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireUpdateItemListener;
00030 import org.jetbrains.annotations.NotNull;
00031
00037 public class OutputCountTracker {
00038
00042 @NotNull
00043 private final CrossfireServerConnection server;
00044
00048 @NotNull
00049 private final CommandQueue commandQueue;
00050
00054 @NotNull
00055 private final CrossfireUpdateItemListener crossfireUpdateItemListener = new CrossfireUpdateItemListener() {
00056
00057 @Override
00058 public void delinvReceived(final int tag) {
00059
00060 }
00061
00062 @Override
00063 public void delitemReceived(@NotNull final int[] tags) {
00064
00065 }
00066
00067 @Override
00068 public void addItemReceived(final int location, final int tag, final int flags, final int weight, final int faceNum, @NotNull final String name, @NotNull final String namePl, final int anim, final int animSpeed, final int nrof, final int type) {
00069
00070 }
00071
00072 @Override
00073 public void playerReceived(final int tag, final int weight, final int faceNum, @NotNull final String name) {
00074 commandQueue.sendNcom(true, 1, "output-count 1");
00075 }
00076
00077 @Override
00078 public void upditemReceived(final int flags, final int tag, final int valLocation, final int valFlags, final int valWeight, final int valFaceNum, @NotNull final String valName, @NotNull final String valNamePl, final int valAnim, final int valAnimSpeed, final int valNrof) {
00079
00080 }
00081
00082 };
00083
00088 @NotNull
00089 private final GuiStateListener guiStateListener = new GuiStateListener() {
00090
00091 @Override
00092 public void start() {
00093 server.removeCrossfireUpdateItemListener(crossfireUpdateItemListener);
00094 }
00095
00096 @Override
00097 public void metaserver() {
00098 server.removeCrossfireUpdateItemListener(crossfireUpdateItemListener);
00099 }
00100
00101 @Override
00102 public void preConnecting(@NotNull final String serverInfo) {
00103
00104 }
00105
00106 @Override
00107 public void connecting(@NotNull final String serverInfo) {
00108 server.addCrossfireUpdateItemListener(crossfireUpdateItemListener);
00109 }
00110
00111 @Override
00112 public void connecting(@NotNull final ClientSocketState clientSocketState) {
00113
00114 }
00115
00116 @Override
00117 public void connected() {
00118
00119 }
00120
00121 @Override
00122 public void connectFailed(@NotNull final String reason) {
00123
00124 }
00125
00126 };
00127
00134 public OutputCountTracker(@NotNull final GuiStateManager guiStateManager, @NotNull final CrossfireServerConnection server, @NotNull final CommandQueue commandQueue) {
00135 this.server = server;
00136 this.commandQueue = commandQueue;
00137 guiStateManager.addGuiStateListener(guiStateListener);
00138 }
00139
00140 }