From 0a78b2dc288c9dd58c00e6a807fd0072848eaa5f Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 11 May 2015 20:14:13 -0400 Subject: [PATCH] v0.3.0: some refactoring to item sprites to better use an item as a parameter --- .../sprites/ItemSprite.java | 26 +++++++++++++------ .../shatteredpixeldungeon/ui/ItemSlot.java | 2 +- .../shatteredpixeldungeon/ui/Toolbar.java | 2 +- .../windows/IconTitle.java | 2 +- .../windows/WndItem.java | 2 +- .../windows/WndTradeItem.java | 2 +- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java index 1b1f27b87..89c7f725b 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java @@ -59,7 +59,13 @@ public class ItemSprite extends MovieClip { } public ItemSprite( Item item ) { - this( item.image(), item.glowing() ); + super(Assets.ITEMS); + + if (film == null) { + film = new TextureFilm( texture, SIZE, SIZE ); + } + + view (item); } public ItemSprite( int image, Glowing glowing ) { @@ -69,21 +75,21 @@ public class ItemSprite extends MovieClip { film = new TextureFilm( texture, SIZE, SIZE ); } - view( image, glowing ); + view(image, glowing); } public void originToCenter() { - origin.set(SIZE / 2 ); + origin.set(SIZE / 2); } public void link() { - link( heap ); + link(heap); } public void link( Heap heap ) { this.heap = heap; view( heap.image(), heap.glowing() ); - place( heap.pos ); + place(heap.pos); } @Override @@ -119,7 +125,7 @@ public class ItemSprite extends MovieClip { dropInterval = DROP_INTERVAL; speed.set( 0, -100 ); - acc.set( 0, -speed.y / DROP_INTERVAL * 2 ); + acc.set(0, -speed.y / DROP_INTERVAL * 2); if (visible && heap != null && heap.peek() instanceof Gold) { CellEmitter.center( heap.pos ).burst( Speck.factory( Speck.COIN ), 5 ); @@ -137,11 +143,15 @@ public class ItemSprite extends MovieClip { float py = y; drop(); - place( from ); + place(from); - speed.offset( (px-x) / DROP_INTERVAL, (py-y) / DROP_INTERVAL ); + speed.offset((px - x) / DROP_INTERVAL, (py - y) / DROP_INTERVAL); } } + + public ItemSprite view(Item item){ + return view(item.image(), item.glowing()); + } public ItemSprite view( int image, Glowing glowing ) { frame( film.get( image ) ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java index d90232a7b..c57a4c761 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java @@ -140,7 +140,7 @@ public class ItemSlot extends Button { active = true; icon.visible = topLeft.visible = topRight.visible = bottomRight.visible = true; - icon.view( item.image(), item.glowing() ); + icon.view( item ); topLeft.text( item.status() ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java index 30f22a2bf..5e784eb1e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java @@ -341,7 +341,7 @@ public class Toolbar extends Component { } public void reset( Item item, float dstX, float dstY ) { - view( item.image(), item.glowing() ); + view( item ); active = visible = diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java index 496ab3225..950ac9bd8 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java @@ -45,7 +45,7 @@ public class IconTitle extends Component { public IconTitle( Item item ) { this( - new ItemSprite( item.image(), item.glowing() ), + new ItemSprite( item ), Utils.capitalize( item.toString() ) ); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java index 907560330..d471726e9 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java @@ -41,7 +41,7 @@ public class WndItem extends Window { super(); IconTitle titlebar = new IconTitle(); - titlebar.icon( new ItemSprite( item.image(), item.glowing() ) ); + titlebar.icon( new ItemSprite( item ) ); titlebar.label( Utils.capitalize( item.toString() ) ); titlebar.setRect( 0, 0, WIDTH, 0 ); add( titlebar ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java index e0386efd3..4988b9078 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java @@ -205,7 +205,7 @@ public class WndTradeItem extends Window { // Title IconTitle titlebar = new IconTitle(); - titlebar.icon( new ItemSprite( item.image(), item.glowing() ) ); + titlebar.icon( new ItemSprite( item ) ); titlebar.label( forSale ? Utils.format( TXT_SALE, item.toString(), price( item ) ) : Utils.capitalize( item.toString() ) );