From 5e9cdf87d5937eff5c8269687dea8355f540cbb7 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 18 Feb 2015 14:35:38 -0500 Subject: [PATCH] v0.2.4: tweaked bag window, now auto-opens containers of all types --- .../scenes/GameScene.java | 18 +++++++++++++++--- .../shatteredpixeldungeon/windows/WndBag.java | 12 ++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 335ca54b9..e49f95c28 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -22,6 +22,10 @@ import java.util.ArrayList; import com.shatteredpixel.shatteredpixeldungeon.*; import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot; +import com.shatteredpixel.shatteredpixeldungeon.items.bags.PotionBandolier; +import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder; +import com.shatteredpixel.shatteredpixeldungeon.items.bags.SeedPouch; +import com.shatteredpixel.shatteredpixeldungeon.items.bags.WandHolster; import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion; import com.shatteredpixel.shatteredpixeldungeon.ui.LootIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.ResumeIndicator; @@ -635,9 +639,17 @@ public class GameScene extends PixelScene { public static WndBag selectItem( WndBag.Listener listener, WndBag.Mode mode, String title ) { cancelCellSelector(); - WndBag wnd = mode == Mode.SEED ? - WndBag.seedPouch( listener, mode, title ) : - WndBag.lastBag( listener, mode, title ); + WndBag wnd = + mode == Mode.SEED ? + WndBag.getBag( SeedPouch.class, listener, mode, title ) : + mode == Mode.SCROLL ? + WndBag.getBag( ScrollHolder.class, listener, mode, title ) : + mode == Mode.POTION ? + WndBag.getBag( PotionBandolier.class, listener, mode, title ) : + mode == Mode.WAND ? + WndBag.getBag( WandHolster.class, listener, mode, title ) : + WndBag.lastBag( listener, mode, title ); + scene.add( wnd ); return wnd; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java index e20ff82af..21406394c 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java @@ -153,12 +153,12 @@ public class WndBag extends WndTabbed { } } - - public static WndBag seedPouch( Listener listener, Mode mode, String title ) { - SeedPouch pouch = Dungeon.hero.belongings.getItem( SeedPouch.class ); - return pouch != null ? - new WndBag( pouch, listener, mode, title ) : - new WndBag( Dungeon.hero.belongings.backpack, listener, mode, title ); + + public static WndBag getBag( Class bagClass, Listener listener, Mode mode, String title ) { + Bag bag = Dungeon.hero.belongings.getItem( bagClass ); + return bag != null ? + new WndBag( bag, listener, mode, title ) : + lastBag( listener, mode, title ); } protected void placeItems( Bag container ) {