Crossfire JXClient, Trunk
SpellsView.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.items;
24 
30 import org.jetbrains.annotations.NotNull;
31 import org.jetbrains.annotations.Nullable;
32 
37 public class SpellsView extends AbstractItemView {
38 
42  @NotNull
44 
48  @NotNull
49  private final FacesManager facesManager;
50 
56  public SpellsView(@NotNull final SpellsManager spellsManager, @NotNull final FacesManager facesManager) {
57  this.spellsManager = spellsManager;
58  this.facesManager = facesManager;
60 
61  @Override
62  public void spellAdded(final int index) {
64  }
65 
66  @Override
67  public void spellRemoved(final int index) {
69  }
70 
71  });
73  if (spellsManager.displaysFace(face.getFaceNum())) {
75  }
76  });
77  }
78 
79  @Override
80  public int getSize() {
82  }
83 
84  @Nullable
85  @Override
86  public CfItem getItem(final int index) {
87  final Spell spell = spellsManager.getFilteredSpell(index);
88  if (spell == null) {
89  return null;
90  }
91  final Face face = facesManager.getFace(spell.getFaceNum());
92  return new CfItem(0, spell.getTag(), 0, 0, face, spell.getName(), spell.getName(), 0, 0, 0, 0);
93  }
94 
95 }
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.items.AbstractItemView
Abstract base class for ItemView implementing classes.
Definition: AbstractItemView.java:35
com.realtime.crossfire.jxclient.faces.FacesManager
Maintains a mapping of face numbers to face data.
Definition: FacesManager.java:40
com.realtime.crossfire.jxclient.items.SpellsView.spellsManager
final SpellsManager spellsManager
The spells to display.
Definition: SpellsView.java:43
com.realtime.crossfire.jxclient.faces.Face
A.
Definition: Face.java:37
com.realtime.crossfire.jxclient.items.SpellsView.getItem
CfItem getItem(final int index)
Returns the CfItem in a given slot.
Definition: SpellsView.java:86
com.realtime.crossfire.jxclient.spells.Spell.getFaceNum
int getFaceNum()
Returns the face number.
Definition: Spell.java:215
com.realtime.crossfire.jxclient.items.SpellsView
Provides a view of all spells a character knows.
Definition: SpellsView.java:37
com.realtime.crossfire.jxclient.faces.FacesManager.getFace
Face getFace(int faceNum)
Returns the Face instance for a given face ID.
com.realtime.crossfire.jxclient.items.SpellsView.facesManager
final FacesManager facesManager
The FacesManager for retrieving face information.
Definition: SpellsView.java:49
com.realtime.crossfire.jxclient.faces
Manages image information ("faces") needed to display the map view, items, and spell icons.
Definition: AbstractFaceQueue.java:23
com.realtime.crossfire.jxclient.spells.SpellsManager.addCrossfireSpellChangedListener
void addCrossfireSpellChangedListener(@NotNull final SpellsManagerListener listener)
Adds a SpellsManagerListener to notify about changes.
Definition: SpellsManager.java:189
com.realtime.crossfire.jxclient.spells.SpellsManager
Manages all known spells.
Definition: SpellsManager.java:50
com.realtime.crossfire.jxclient.faces.FacesManager.addFacesManagerListener
void addFacesManagerListener(@NotNull FacesManagerListener facesManagerListener)
Adds a FacesManagerListener to be notified about updated faces.
com.realtime.crossfire.jxclient.spells.SpellsManager.getFilteredSpellsCount
int getFilteredSpellsCount()
Returns the number of currently shown spells.
Definition: SpellsManager.java:351
com.realtime.crossfire.jxclient.spells.Spell
Describes a Crossfire spell.
Definition: Spell.java:37
com.realtime.crossfire.jxclient.items.CfItem
The representation of a Crossfire Item, client-side.
Definition: CfItem.java:37
com.realtime.crossfire.jxclient.spells.Spell.getTag
int getTag()
Returns the tag ID.
Definition: Spell.java:133
com.realtime.crossfire.jxclient.spells.SpellsManagerListener
Interface for listeners interested in SpellsManager events.
Definition: SpellsManagerListener.java:31
com.realtime.crossfire.jxclient.spells.SpellsManager.displaysFace
boolean displaysFace(final int faceNum)
Returns whether any spell has the given face.
Definition: SpellsManager.java:375
com.realtime.crossfire
com.realtime
com.realtime.crossfire.jxclient.spells.Spell.getName
String getName()
Returns the spell name.
Definition: Spell.java:198
com
com.realtime.crossfire.jxclient.items.AbstractItemView.addModifiedRange
void addModifiedRange(final int firstIndex, final int lastIndex)
Marks a range of slots as modified.
Definition: AbstractItemView.java:103
com.realtime.crossfire.jxclient.spells.SpellsManager.getFilteredSpell
Spell getFilteredSpell(final int index)
Returns a Spell instance by index.
Definition: SpellsManager.java:362
com.realtime.crossfire.jxclient.items.SpellsView.getSize
int getSize()
Returns the number of items.
Definition: SpellsView.java:80
com.realtime.crossfire.jxclient.items.SpellsView.SpellsView
SpellsView(@NotNull final SpellsManager spellsManager, @NotNull final FacesManager facesManager)
Creates a new instance.
Definition: SpellsView.java:56
com.realtime.crossfire.jxclient.spells
Definition: Spell.java:23