java.lang.Objectcom.realtime.crossfire.jxclient.spells.SpellsManager
public class SpellsManager
Manages all known spells.
| Field Summary | |
|---|---|
private CrossfireSpellListener |
crossfireSpellListener
The listener to receive updates for spell information. |
private GuiStateListener |
guiStateListener
The GuiStateListener for detecting established or dropped
connections. |
private java.util.Collection<SpellsManagerListener> |
listeners
The SpellsManagerListeners to notify about
changes. |
private java.util.Comparator<Spell> |
spellNameComparator
A Comparator to compare Spell instances by spell path and
name. |
private java.util.List<Spell> |
spells
All known spells. |
private java.util.Map<java.lang.String,Spell> |
unknownSpells
All unknown spells that have been referenced before. |
| Constructor Summary | |
|---|---|
SpellsManager(CrossfireServerConnection crossfireServerConnection,
GuiStateManager guiStateManager)
Create a new instance. |
|
| Method Summary | |
|---|---|
void |
addCrossfireSpellChangedListener(SpellsManagerListener listener)
Adds a SpellsManagerListener to notify about changes. |
private void |
addSpell(int tag,
int level,
int castingTime,
int mana,
int grace,
int damage,
int skill,
int path,
int faceNum,
java.lang.String spellName,
java.lang.String message)
Adds a new spell. |
private void |
deleteSpell(int tag)
Deletes a spell. |
private void |
deleteSpellByIndex(int index)
Deletes a spell by index into spells. |
Spell |
getSpell(int index)
Returns a Spell instance by index. |
Spell |
getSpell(java.lang.String spellName)
Returns a Spell instance by spell name. |
int |
getSpells()
Returns the number of known spells. |
private void |
initSpells()
|
java.util.Iterator<Spell> |
iterator()
|
void |
removeCrossfireSpellChangedListener(SpellsManagerListener listener)
Removes a SpellsManagerListener to notify about changes. |
private void |
updateSpell(int flags,
int tag,
int mana,
int grace,
int damage)
Updates spell information. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
@NotNull private final CrossfireSpellListener crossfireSpellListener
@NotNull private final GuiStateListener guiStateListener
GuiStateListener for detecting established or dropped
connections.
@NotNull private final java.util.Collection<SpellsManagerListener> listeners
SpellsManagerListeners to notify about
changes.
@NotNull private final java.util.Comparator<Spell> spellNameComparator
Comparator to compare Spell instances by spell path and
name.
@NotNull private final java.util.List<Spell> spells
@NotNull private final java.util.Map<java.lang.String,Spell> unknownSpells
Spell instance.
| Constructor Detail |
|---|
public SpellsManager(@NotNull
CrossfireServerConnection crossfireServerConnection,
@NotNull
GuiStateManager guiStateManager)
crossfireServerConnection - the connection to listen onguiStateManager - the gui state manager to watch| Method Detail |
|---|
public void addCrossfireSpellChangedListener(@NotNull
SpellsManagerListener listener)
SpellsManagerListener to notify about changes.
listener - the listener to add
private void addSpell(int tag,
int level,
int castingTime,
int mana,
int grace,
int damage,
int skill,
int path,
int faceNum,
@NotNull
java.lang.String spellName,
@NotNull
java.lang.String message)
unknownSpells if
possible.
tag - the spell's taglevel - the spell's levelcastingTime - the spell's casting timemana - the spell's mana costgrace - the spell's grace costdamage - the spell's damageskill - the spell's skillpath - the spell's pathfaceNum - the spell's face numberspellName - the spell's namemessage - the spells' descriptionprivate void deleteSpell(int tag)
tag - the spell's tagprivate void deleteSpellByIndex(int index)
spells.
index - the index to delete@Nullable public Spell getSpell(int index)
Spell instance by index.
index - the index
null if the index is invalid
@NotNull
public Spell getSpell(@NotNull
java.lang.String spellName)
Spell instance by spell name. Creates a new instance if
the spell is unknown.
spellName - the spell name to find
public int getSpells()
private void initSpells()
public java.util.Iterator<Spell> iterator()
iterator in interface java.lang.Iterable<Spell>
public void removeCrossfireSpellChangedListener(@NotNull
SpellsManagerListener listener)
SpellsManagerListener to notify about changes.
listener - the listener to remove
private void updateSpell(int flags,
int tag,
int mana,
int grace,
int damage)
flags - specifies which fields to updatetag - the spell's tagmana - the spell's new mana costgrace - the spell's new grace costdamage - the spell's new damage