v1.2.0: fixed some edge cases with selectors in inventory pane
This commit is contained in:
parent
58eb2242f4
commit
17e963a1fe
|
@ -104,7 +104,6 @@ public class Shopkeeper extends NPC {
|
|||
}
|
||||
|
||||
public static WndBag sell() {
|
||||
//FIXME currently doesn't allow for repeated sales on new inventory pane
|
||||
return GameScene.selectItem( itemSelector );
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,6 @@ public class Alchemize extends Spell {
|
|||
@Override
|
||||
public void onSelect( Item item ) {
|
||||
if (item != null) {
|
||||
//FIXME currently doesn't allow for repeated alchemizes on new inventory pane
|
||||
WndBag parentWnd = GameScene.selectItem( itemSelector );
|
||||
GameScene.show( new WndAlchemizeItem( item, parentWnd ) );
|
||||
}
|
||||
|
@ -221,6 +220,9 @@ public class Alchemize extends Spell {
|
|||
}
|
||||
} else {
|
||||
curItem.detach(Dungeon.hero.belongings.backpack);
|
||||
if (owner == null){
|
||||
GameScene.selectItem(itemSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -124,8 +124,9 @@ public class InventoryPane extends Component {
|
|||
if (lastBag != item && !lastBag.contains(item) && !item.isEquipped(Dungeon.hero)){
|
||||
updateInventory();
|
||||
} else if (selector != null) {
|
||||
selector.onSelect( item );
|
||||
WndBag.ItemSelector activating = selector;
|
||||
selector = null;
|
||||
activating.onSelect( item );
|
||||
updateInventory();
|
||||
} else {
|
||||
GameScene.show(new WndUseItem( null, item ));
|
||||
|
@ -163,8 +164,9 @@ public class InventoryPane extends Component {
|
|||
if (lastBag != item && !lastBag.contains(item) && !item.isEquipped(Dungeon.hero)){
|
||||
updateInventory();
|
||||
} else if (selector != null) {
|
||||
selector.onSelect( item );
|
||||
WndBag.ItemSelector activating = selector;
|
||||
selector = null;
|
||||
activating.onSelect( item );
|
||||
updateInventory();
|
||||
} else {
|
||||
GameScene.show(new WndUseItem( null, item ));
|
||||
|
@ -354,10 +356,14 @@ public class InventoryPane extends Component {
|
|||
lastEnabled = (Dungeon.hero.ready || !Dungeon.hero.isAlive());
|
||||
|
||||
for (InventorySlot b : equipped){
|
||||
b.enable(lastEnabled && !(b.item() instanceof WndBag.Placeholder));
|
||||
b.enable(lastEnabled
|
||||
&& !(b.item() instanceof WndBag.Placeholder)
|
||||
&& (selector == null || selector.itemSelectable(b.item())));
|
||||
}
|
||||
for (InventorySlot b : bagItems){
|
||||
b.enable(lastEnabled && b.item() != null);
|
||||
b.enable(lastEnabled
|
||||
&& b.item() != null
|
||||
&& (selector == null || selector.itemSelectable(b.item())));
|
||||
}
|
||||
for (BagButton b : bags){
|
||||
b.enable(lastEnabled);
|
||||
|
|
|
@ -166,8 +166,8 @@ public class WndTradeItem extends WndInfoItem {
|
|||
|
||||
if (owner != null) {
|
||||
owner.hide();
|
||||
Shopkeeper.sell();
|
||||
}
|
||||
Shopkeeper.sell();
|
||||
}
|
||||
|
||||
public static void sell( Item item ) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user