Crossfire JXClient, Trunk  R20561
KnowledgeView.java
Go to the documentation of this file.
1 package com.realtime.crossfire.jxclient.items;
2 
8 import org.jetbrains.annotations.NotNull;
9 import org.jetbrains.annotations.Nullable;
10 
15 public class KnowledgeView extends AbstractItemView {
16 
17  @NotNull
19 
20  @NotNull
21  private final FacesManager facesManager;
22 
23  public KnowledgeView(@NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager) {
24  this.facesManager = facesManager;
25  this.knowledgeManager = knowledgeManager;
26  knowledgeManager.addKnowledgeListener(new KnowledgeListener() {
27  @Override
28  public void typeAdded(final int index) {
29  }
30 
31  @Override
32  public void knowledgeAdded(final int index) {
33  addModifiedRange(0, knowledgeManager.getKnowledgeCount());
34  }
35  });
36  facesManager.addFacesManagerListener(face -> addModifiedRange(0, knowledgeManager.getKnowledgeCount()));
37  }
38 
39  @Override
40  public int getSize() {
41  return knowledgeManager.getKnowledgeCount();
42  }
43 
44  @Nullable
45  @Override
46  public CfItem getItem(final int index) {
47  final KnowledgeItem item = knowledgeManager.getKnowledge(index);
48  if (item == null) {
49  return null;
50  }
51  final Face face = facesManager.getFace(item.getFaceNum());
52  return new CfItem(0, 0, 0, 0, face, item.getKnowledgeTitle(), item.getKnowledgeTitle(), 0, 0, 0, 0);
53  }
54 
55 }
KnowledgeItem getKnowledge(final int index)
Returns a KnowledgeItem instance by index.
CfItem getItem(final int index)
Returns the CfItem in a given slot.
int getSize()
Returns the number of items.
Manages image information ("faces") needed to display the map view, items, and spell icons...
void addKnowledgeListener(@NotNull final KnowledgeListener listener)
Adds a KnowledgeListener to notify about changes.
Displays knowledge items the player knows.
KnowledgeView(@NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager)
String getKnowledgeTitle()
Returns the description.
void addModifiedRange(final int firstIndex, final int lastIndex)
Marks a range of slots as modified.
Face getFace(int faceNum)
Returns the Face instance for a given face ID.
Abstract base class for ItemView implementing classes.
The representation of a Crossfire Item, client-side.
Definition: CfItem.java:36
Maintains a mapping of face numbers to face data.