Crossfire JXClient, Trunk  R20561
KnowledgeTypeView.java
Go to the documentation of this file.
1 package com.realtime.crossfire.jxclient.items;
2 
7 import org.jetbrains.annotations.NotNull;
8 import org.jetbrains.annotations.Nullable;
9 
13 public class KnowledgeTypeView extends AbstractItemView {
14 
15  @NotNull
17 
18  @NotNull
19  private final FacesManager facesManager;
20 
21  public KnowledgeTypeView(@NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager) {
22  this.facesManager = facesManager;
23  this.knowledgeManager = knowledgeManager;
24  knowledgeManager.addKnowledgeListener(new KnowledgeListener() {
25  @Override
26  public void typeAdded(final int index) {
27  addModifiedRange(0, knowledgeManager.getTypes());
28  }
29 
30  @Override
31  public void knowledgeAdded(final int index) {
32  }
33  });
34  facesManager.addFacesManagerListener(face -> addModifiedRange(0, knowledgeManager.getTypes()));
35 
36  }
37 
38  @Override
39  public int getSize() {
40  return knowledgeManager.getTypes();
41  }
42 
43  @Nullable
44  @Override
45  public CfItem getItem(final int index) {
46  final Face face = facesManager.getFace(knowledgeManager.getTypeFace(index));
47  return new CfItem(0, 0, 0, 0, face, knowledgeManager.getTypeName(index), knowledgeManager.getTypeName(index), 0, 0, 0, 0);
48  }
49 
50 }
CfItem getItem(final int index)
Returns the CfItem in a given slot.
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.
void addModifiedRange(final int firstIndex, final int lastIndex)
Marks a range of slots as modified.
KnowledgeTypeView(@NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager)
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.