|
|
@@ -8,7 +8,7 @@ import javax.swing.border.MatteBorder;
|
|
|
|
|
|
import org.jdesktop.swingx.VerticalLayout;
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacter;
|
|
|
-import org.leumasjaffe.charsheet.model.inventory.DDInventory;
|
|
|
+import org.leumasjaffe.charsheet.model.inventory.DDEquipment;
|
|
|
import org.leumasjaffe.charsheet.model.inventory.DDItem;
|
|
|
import org.leumasjaffe.charsheet.model.inventory.EquipmentSlot;
|
|
|
import org.leumasjaffe.event.PopClickListener;
|
|
|
@@ -39,7 +39,7 @@ public class EquipmentPanel extends JPanel {
|
|
|
JPanel equipment;
|
|
|
LoadoutMenu loadoutMenu = new LoadoutMenu();
|
|
|
|
|
|
- ObservableListener<EquipmentPanel, DDInventory> equipmentObserver;
|
|
|
+ ObservableListener<EquipmentPanel, DDEquipment> equipmentObserver;
|
|
|
|
|
|
public EquipmentPanel() {
|
|
|
GridBagLayout gridBagLayout = new GridBagLayout();
|
|
|
@@ -74,25 +74,25 @@ public class EquipmentPanel extends JPanel {
|
|
|
equipment.setLayout(new VerticalLayout(5));
|
|
|
|
|
|
equipmentObserver = new ObservableListener<>(this,
|
|
|
- (self, inv) -> self.updateModel(inv) );
|
|
|
+ (self, equip) -> self.updateModel(equip) );
|
|
|
}
|
|
|
|
|
|
public void setModel(DDCharacter model) {
|
|
|
- equipmentObserver.setObserved(model.getInventory());
|
|
|
+ equipmentObserver.setObserved(model.getInventory().getEquipment());
|
|
|
loadoutMenu.setModel(model.getInventory());
|
|
|
}
|
|
|
|
|
|
- private void updateModel(final DDInventory inv) {
|
|
|
+ private void updateModel(final DDEquipment equip) {
|
|
|
final Set<EquipmentSlot> manual = EnumSet.noneOf(EquipmentSlot.class);
|
|
|
equipment.removeAll();
|
|
|
- final DDItem armor = inv.getEquipment().get(BODY);
|
|
|
+ final DDItem armor = equip.get(BODY);
|
|
|
if (armor != null && armor.isArmor()) {
|
|
|
manual.add(BODY);
|
|
|
- createWithRightClickMenu(ArmorPanel::new, inv, BODY, BODY);
|
|
|
+ createWithRightClickMenu(ArmorPanel::new, equip, BODY, BODY);
|
|
|
}
|
|
|
|
|
|
- final DDItem main = inv.getEquipment().get(MAIN_HAND);
|
|
|
- final DDItem off = inv.getEquipment().get(OFF_HAND);
|
|
|
+ final DDItem main = equip.get(MAIN_HAND);
|
|
|
+ final DDItem off = equip.get(OFF_HAND);
|
|
|
|
|
|
final Optional<Function<DDItem, JPanel>> makeMain = getEquipmentRightClickPanelFactory(main);
|
|
|
final Optional<Function<DDItem, JPanel>> makeOff = getEquipmentRightClickPanelFactory(off);
|
|
|
@@ -101,22 +101,22 @@ public class EquipmentPanel extends JPanel {
|
|
|
makeMain.ifPresent(f -> {
|
|
|
manual.add(MAIN_HAND);
|
|
|
manual.add(OFF_HAND);
|
|
|
- createWithRightClickMenu(f, inv, TWO_HANDS, MAIN_HAND);
|
|
|
+ createWithRightClickMenu(f, equip, TWO_HANDS, MAIN_HAND);
|
|
|
});
|
|
|
} else {
|
|
|
makeMain.ifPresent(f -> {
|
|
|
manual.add(MAIN_HAND);
|
|
|
- createWithRightClickMenu(f, inv, MAIN_HAND, MAIN_HAND);
|
|
|
+ createWithRightClickMenu(f, equip, MAIN_HAND, MAIN_HAND);
|
|
|
});
|
|
|
makeOff.ifPresent(f -> {
|
|
|
manual.add(OFF_HAND);
|
|
|
- createWithRightClickMenu(f, inv, OFF_HAND, OFF_HAND);
|
|
|
+ createWithRightClickMenu(f, equip, OFF_HAND, OFF_HAND);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- inv.getEquipment().keySet().stream().filter( slot -> ! manual.contains(slot) )
|
|
|
+ equip.keySet().stream().filter( slot -> ! manual.contains(slot) )
|
|
|
.forEach( slot -> {
|
|
|
- createWithRightClickMenu(null, inv, slot, slot);
|
|
|
+ createWithRightClickMenu(null, equip, slot, slot);
|
|
|
});
|
|
|
repaint();
|
|
|
}
|
|
|
@@ -133,11 +133,11 @@ public class EquipmentPanel extends JPanel {
|
|
|
}
|
|
|
|
|
|
private void createWithRightClickMenu(final Function<DDItem, JPanel> make,
|
|
|
- final DDInventory inv, final EquipmentSlot slot, EquipmentSlot get) {
|
|
|
- final DDItem item = inv.getEquipment().get(get);
|
|
|
+ final DDEquipment equip, final EquipmentSlot slot, EquipmentSlot get) {
|
|
|
+ final DDItem item = equip.get(get);
|
|
|
final JPanel panel = make.apply(item);
|
|
|
equipment.add(panel);
|
|
|
panel.addMouseListener(new PopClickListener(
|
|
|
- new EquipmentInfoMenu(inv, item, slot)));
|
|
|
+ new EquipmentInfoMenu(equip, item, slot)));
|
|
|
}
|
|
|
}
|