Crossfire JXClient, Trunk
|
Public Member Functions | |
CfItem | getItem (final int index) |
int | getSize () |
InventoryView (@NotNull final ItemSet itemSet, @NotNull final Comparator< CfItem > comparator) | |
void | setFilter (@NotNull final InventoryFilter filter) |
Public Member Functions inherited from com.realtime.crossfire.jxclient.items.AbstractItemView | |
void | addLocationListener (final int index, @NotNull final LocationListener locationListener) |
void | addLocationsListener (@NotNull final LocationsListener locationsListener) |
void | removeLocationListener (final int index, @NotNull final LocationListener locationListener) |
void | removeLocationsListener (@NotNull final LocationsListener locationsListener) |
Private Member Functions | |
void | doRebuildInventory () |
int | findInsertionIndex (@NotNull final CfItem item) |
void | run () |
void | setCurrentPlayerTag (final int currentPlayerTag) |
Private Attributes | |
long | changeTimestamp = System.currentTimeMillis() |
final Comparator< CfItem > | comparator |
int | currentPlayerTag |
InventoryFilter | filter = InventoryFilter.ALL |
final CfItemListener | itemModifiedListener = () -> setCurrentPlayerTag(currentPlayerTag) |
final List< CfItem > | items = new ArrayList<>() |
final ItemSet | itemSet |
final ItemSetListener | itemSetListener |
final ItemListener | playerInventoryListener |
final Object | sync = new Object() |
Additional Inherited Members | |
Protected Member Functions inherited from com.realtime.crossfire.jxclient.items.AbstractItemView | |
AbstractItemView () | |
void | addModified (final int index) |
void | addModifiedRange (final int firstIndex, final int lastIndex) |
Provides a view of all items in the current player's inventory.
If no player object is known an empty inventory view is generated.
Definition at line 38 of file InventoryView.java.
com.realtime.crossfire.jxclient.items.InventoryView.InventoryView | ( | @NotNull final ItemSet | itemSet, |
@NotNull final Comparator< CfItem > | comparator | ||
) |
Creates a new instance.
itemSet | the item set to monitor |
comparator | the comparator for sorting |
Definition at line 151 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.ItemSet.addItemSetListener(), com.realtime.crossfire.jxclient.items.InventoryView.comparator, com.realtime.crossfire.jxclient.items.InventoryView.currentPlayerTag, com.realtime.crossfire.jxclient.items.ItemSet.getPlayer(), com.realtime.crossfire.jxclient.items.CfItem.getTag(), com.realtime.crossfire.jxclient.items.InventoryView.itemSet, and com.realtime.crossfire.jxclient.items.InventoryView.itemSetListener.
|
private |
Rebuilds the inventory view.
Definition at line 220 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.AbstractItemView.addModifiedRange(), com.realtime.crossfire.jxclient.items.InventoryView.currentPlayerTag, com.realtime.crossfire.jxclient.items.InventoryView.findInsertionIndex(), com.realtime.crossfire.jxclient.items.ItemSet.getPlayerInventory(), com.realtime.crossfire.jxclient.items.InventoryView.itemModifiedListener, com.realtime.crossfire.jxclient.items.InventoryView.items, and com.realtime.crossfire.jxclient.items.InventoryView.itemSet.
|
private |
Returns the insertion index of a CfItem.
item | the item to insert into the inventory |
Definition at line 267 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.InventoryView.comparator, com.realtime.crossfire.jxclient.items.InventoryView.filter, com.realtime.crossfire.jxclient.items.InventoryView.items, and com.realtime.crossfire.jxclient.items.InventoryFilter.matches.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.doRebuildInventory().
CfItem com.realtime.crossfire.jxclient.items.InventoryView.getItem | ( | final int | index | ) |
Returns the CfItem in a given slot.
index | the slot index |
Implements com.realtime.crossfire.jxclient.items.ItemView.
Definition at line 252 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.InventoryView.items.
int com.realtime.crossfire.jxclient.items.InventoryView.getSize | ( | ) |
Returns the number of items.
Implements com.realtime.crossfire.jxclient.items.ItemView.
Definition at line 244 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.InventoryView.items.
|
private |
Updates the inventory contents asynchronously.
Definition at line 187 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.InventoryView.changeTimestamp, and com.realtime.crossfire.jxclient.items.InventoryView.sync.
|
private |
Updates the current player object.
currentPlayerTag | the tag of the player object or -1
|
Definition at line 167 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.ItemSet.addInventoryListener(), com.realtime.crossfire.jxclient.items.InventoryView.changeTimestamp, com.realtime.crossfire.jxclient.items.InventoryView.currentPlayerTag, com.realtime.crossfire.jxclient.items.InventoryView.itemSet, com.realtime.crossfire.jxclient.items.InventoryView.playerInventoryListener, com.realtime.crossfire.jxclient.items.ItemSet.removeInventoryListener(), and com.realtime.crossfire.jxclient.items.InventoryView.sync.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.setFilter().
void com.realtime.crossfire.jxclient.items.InventoryView.setFilter | ( | @NotNull final InventoryFilter | filter | ) |
Sets the InventoryFilter.
filter | the new inventory filter |
Definition at line 287 of file InventoryView.java.
References com.realtime.crossfire.jxclient.items.InventoryView.currentPlayerTag, com.realtime.crossfire.jxclient.items.InventoryView.filter, and com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag().
Referenced by com.realtime.crossfire.jxclient.gui.commands.InventoryFilterCommand.execute().
|
private |
The timestamp when the inventory contents may have changed.
Definition at line 61 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.run(), and com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag().
|
private |
The Comparator for sorting.
Definition at line 50 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.findInsertionIndex(), and com.realtime.crossfire.jxclient.items.InventoryView.InventoryView().
|
private |
The tag of the current player object or
.
Definition at line 67 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.doRebuildInventory(), com.realtime.crossfire.jxclient.items.InventoryView.InventoryView(), com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag(), and com.realtime.crossfire.jxclient.items.InventoryView.setFilter().
|
private |
The current inventory filter.
Definition at line 144 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.findInsertionIndex(), and com.realtime.crossfire.jxclient.items.InventoryView.setFilter().
|
private |
The CfItemListener attached to all items in items.
Definition at line 137 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.doRebuildInventory().
|
private |
The items in the inventory ordered by comparator. Also used as synchronization object for accesses.
Definition at line 74 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.doRebuildInventory(), com.realtime.crossfire.jxclient.items.InventoryView.findInsertionIndex(), com.realtime.crossfire.jxclient.items.InventoryView.getItem(), and com.realtime.crossfire.jxclient.items.InventoryView.getSize().
|
private |
The ItemSet to monitor.
Definition at line 44 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.doRebuildInventory(), com.realtime.crossfire.jxclient.items.InventoryView.InventoryView(), and com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag().
|
private |
The ItemSetListener attached to itemSet to track the current player object.
Definition at line 82 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.InventoryView().
|
private |
The ItemListener attached to the current player object.
Definition at line 100 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag().
|
private |
The synchronization object for accesses to changeTimestamp.
Definition at line 56 of file InventoryView.java.
Referenced by com.realtime.crossfire.jxclient.items.InventoryView.run(), and com.realtime.crossfire.jxclient.items.InventoryView.setCurrentPlayerTag().