Crossfire JXClient, Trunk
ItemsManager.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.item;
24 
37 import org.jetbrains.annotations.NotNull;
38 
45 public class ItemsManager {
46 
50  @NotNull
51  private final FacesManager facesManager;
52 
56  @NotNull
57  private final Stats stats;
58 
62  @NotNull
63  private final SkillSet skillSet;
64 
68  @NotNull
69  private final ItemSet itemSet;
70 
75  @NotNull
76  @SuppressWarnings("FieldCanBeLocal")
78 
79  @Override
80  public void start() {
81  itemSet.reset();
82  }
83 
84  @Override
85  public void metaserver() {
86  itemSet.reset();
87  }
88 
89  @Override
90  public void preConnecting(@NotNull final String serverInfo) {
91  // ignore
92  }
93 
94  @Override
95  public void connecting(@NotNull final String serverInfo) {
96  itemSet.reset();
97  }
98 
99  @Override
100  public void connecting(@NotNull final ClientSocketState clientSocketState, @NotNull final String param) {
101  // ignore
102  }
103 
104  @Override
105  public void connected() {
106  // ignore
107  }
108 
109  @Override
110  public void connectFailed(@NotNull final String reason) {
111  // ignore
112  }
113 
114  };
115 
119  @NotNull
120  @SuppressWarnings("FieldCanBeLocal")
122 
123  @Override
124  public void delinvReceived(final int tag) {
125  itemSet.cleanInventory(tag);
126  }
127 
128  @Override
129  public void delitemReceived(final int @NotNull [] tags) {
130  itemSet.removeItems(tags);
131  }
132 
133  @Override
134  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) {
135  itemSet.addItem(new CfItem(location, tag, flags, weight, facesManager.getFace(faceNum), name, namePl, anim, animSpeed, nrof, type));
136  }
137 
138  @Override
139  public void playerReceived(final int tag, final int weight, final int faceNum, @NotNull final String name) {
140  stats.setActiveSkill("");
142  itemSet.setPlayer(tag == 0 ? null : new CfPlayer(tag, weight, facesManager.getFace(faceNum), name));
143  stats.setStat(Stats.C_STAT_WEIGHT, weight);
144  }
145 
146  @Override
147  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) {
148  itemSet.updateItem(flags, tag, valLocation, valFlags, valWeight, facesManager.getFace(valFaceNum), valName, valNamePl, valAnim, valAnimSpeed, valNrof);
149  if ((flags&UpdItem.UPD_WEIGHT) != 0) {
150  final CfItem player = itemSet.getPlayer();
151  if (player != null && player.getTag() == tag) {
152  stats.setStat(Stats.C_STAT_WEIGHT, valWeight);
153  }
154  }
155  }
156 
157  };
158 
168  public ItemsManager(@NotNull final FacesManager facesManager, @NotNull final Stats stats, @NotNull final SkillSet skillSet, @NotNull final GuiStateManager guiStateManager, @NotNull final ItemSet itemSet, @NotNull final CrossfireServerConnection server) {
169  this.facesManager = facesManager;
170  this.stats = stats;
171  this.skillSet = skillSet;
172  this.itemSet = itemSet;
173  guiStateManager.addGuiStateListener(guiStateListener);
174  server.addCrossfireUpdateItemListener(crossfireUpdateItemListener);
175  }
176 
177 }
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.item.ItemsManager.itemSet
final ItemSet itemSet
Definition: ItemsManager.java:69
com.realtime.crossfire.jxclient.item.ItemsManager.crossfireUpdateItemListener
final CrossfireUpdateItemListener crossfireUpdateItemListener
Definition: ItemsManager.java:121
com.realtime.crossfire.jxclient.server
com.realtime.crossfire.jxclient.items.CfPlayer
Definition: CfPlayer.java:32
com.realtime.crossfire.jxclient.stats.Stats.setActiveSkill
void setActiveSkill(@NotNull final String activeSkill)
Definition: Stats.java:900
com.realtime.crossfire.jxclient.guistate.ClientSocketState
Definition: ClientSocketState.java:30
com.realtime.crossfire.jxclient.protocol.UpdItem.UPD_WEIGHT
int UPD_WEIGHT
Definition: UpdItem.java:44
com.realtime.crossfire.jxclient.item.ItemsManager.skillSet
final SkillSet skillSet
Definition: ItemsManager.java:63
com.realtime.crossfire.jxclient.stats.Stats.setStat
void setStat(final int statNo, final int value)
Definition: Stats.java:789
com.realtime.crossfire.jxclient.item.ItemsManager.stats
final Stats stats
Definition: ItemsManager.java:57
com.realtime.crossfire.jxclient.items.ItemSet.setPlayer
void setPlayer(@Nullable final CfItem player)
Definition: ItemSet.java:282
com.realtime.crossfire.jxclient.item.ItemsManager
Definition: ItemsManager.java:45
com.realtime.crossfire.jxclient.item.ItemsManager.ItemsManager
ItemsManager(@NotNull final FacesManager facesManager, @NotNull final Stats stats, @NotNull final SkillSet skillSet, @NotNull final GuiStateManager guiStateManager, @NotNull final ItemSet itemSet, @NotNull final CrossfireServerConnection server)
Definition: ItemsManager.java:168
com.realtime.crossfire.jxclient.items.ItemSet
Definition: ItemSet.java:44
com.realtime.crossfire.jxclient.stats.Stats
Definition: Stats.java:44
com.realtime.crossfire.jxclient.items.ItemSet.reset
void reset()
Definition: ItemSet.java:387
com.realtime.crossfire.jxclient.items.ItemSet.cleanInventory
void cleanInventory(final int tag)
Definition: ItemSet.java:327
com.realtime.crossfire.jxclient.skills.SkillSet.clearNumberedSkills
void clearNumberedSkills()
Definition: SkillSet.java:177
com.realtime.crossfire.jxclient.faces
Definition: AbstractFaceQueue.java:23
com.realtime.crossfire.jxclient.items.ItemSet.removeItems
void removeItems(final int @NotNull[] tags)
Definition: ItemSet.java:200
com.realtime.crossfire.jxclient.items.ItemSet.getPlayer
CfItem getPlayer()
Definition: ItemSet.java:272
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_WEIGHT
static final int C_STAT_WEIGHT
Definition: Stats.java:190
com.realtime.crossfire.jxclient.protocol
Definition: MagicMap.java:23
com.realtime.crossfire.jxclient.faces.FacesManager.getFace
Face getFace(int faceNum)
com.realtime.crossfire.jxclient.guistate.GuiStateManager
Definition: GuiStateManager.java:34
com.realtime.crossfire.jxclient.guistate
Definition: ClientSocketState.java:23
com.realtime.crossfire.jxclient.skills
Definition: Skill.java:23
com.realtime.crossfire.jxclient.guistate.GuiStateListener
Definition: GuiStateListener.java:32
com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection
Definition: CrossfireServerConnection.java:37
com.realtime.crossfire.jxclient.items.CfItem
Definition: CfItem.java:37
com.realtime.crossfire.jxclient.item.ItemsManager.guiStateListener
final GuiStateListener guiStateListener
Definition: ItemsManager.java:77
com.realtime.crossfire.jxclient.server.crossfire
Definition: AbstractCrossfireServerConnection.java:23
com.realtime.crossfire.jxclient.faces.FacesManager
Definition: FacesManager.java:40
com.realtime.crossfire
com.realtime.crossfire.jxclient.items.ItemSet.addItem
void addItem(@NotNull final CfItem item)
Definition: ItemSet.java:212
com.realtime.crossfire.jxclient.items.CfItem.getTag
int getTag()
Definition: CfItem.java:287
com.realtime
com.realtime.crossfire.jxclient.items.ItemSet.updateItem
void updateItem(final int flags, final int tag, final int valLocation, final int valFlags, final int valWeight, @NotNull final Face valFace, @NotNull final String valName, @NotNull final String valNamePl, final int valAnim, final int valAnimSpeed, final int valNrof)
Definition: ItemSet.java:350
com
com.realtime.crossfire.jxclient.items
Definition: AbstractItemView.java:23
com.realtime.crossfire.jxclient.server.crossfire.CrossfireUpdateItemListener
Definition: CrossfireUpdateItemListener.java:32
com.realtime.crossfire.jxclient.protocol.UpdItem
Definition: UpdItem.java:29
com.realtime.crossfire.jxclient.skills.SkillSet
Definition: SkillSet.java:39
com.realtime.crossfire.jxclient.item.ItemsManager.facesManager
final FacesManager facesManager
Definition: ItemsManager.java:51
com.realtime.crossfire.jxclient.stats
Definition: ActiveSkillWatcher.java:23