v0.2.3e: refactored quick slot button, should now support multiple instances of itself tied to different quickslots, needs testing

This commit is contained in:
Evan Debenham
2015-01-20 17:26:53 -05:00
parent 18580f7f0b
commit 2b44154ac1
16 changed files with 86 additions and 82 deletions
@@ -21,14 +21,12 @@ import java.util.ArrayList;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.watabou.noosa.audio.Sample;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShaftParticle;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite.Glowing;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
@@ -111,7 +109,7 @@ public class DewVial extends Item {
Sample.INSTANCE.play( Assets.SND_DRINK );
hero.sprite.operate( hero.pos );
QuickSlot.refresh();
QuickSlotButton.refresh();
} else {
@@ -125,7 +123,7 @@ public class DewVial extends Item {
}
}
public void empty() {volume = 0; QuickSlot.refresh();}
public void empty() {volume = 0; QuickSlotButton.refresh();}
@Override
public boolean isUpgradable() {
@@ -150,12 +148,12 @@ public class DewVial extends Item {
GLog.p( TXT_FULL );
}
QuickSlot.refresh();
QuickSlotButton.refresh();
}
public void fill() {
volume = MAX_VOLUME;
QuickSlot.refresh();
QuickSlotButton.refresh();
}
//removed as people need a bigger distinction to realize the dew vial doesn't revive.
@@ -32,7 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.CellSelector;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.MissileSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
import com.watabou.noosa.audio.Sample;
@@ -179,7 +179,7 @@ public class Item implements Bundlable {
items.add( this );
Dungeon.quickslot.replaceSimilar(this);
QuickSlot.refresh();
QuickSlotButton.refresh();
Collections.sort( items, itemComparator );
return true;
@@ -234,12 +234,12 @@ public class Item implements Bundlable {
public final Item detachAll( Bag container ) {
Dungeon.quickslot.clearItem( this );
QuickSlot.refresh();
QuickSlotButton.refresh();
for (Item item : container.items) {
if (item == this) {
container.items.remove( this );
item.onDetach( );
container.items.remove(this);
item.onDetach();
return this;
} else if (item instanceof Bag) {
Bag bag = (Bag)item;
@@ -398,7 +398,7 @@ public class Item implements Bundlable {
public void updateQuickslot() {
if (Dungeon.quickslot.contains( this )) {
QuickSlot.refresh();
QuickSlotButton.refresh();
}
}
@@ -455,7 +455,7 @@ public class Item implements Bundlable {
user.busy();
Char enemy = Actor.findChar( cell );
QuickSlot.target( this, enemy );
QuickSlotButton.target(enemy);
float delay = TIME_TO_THROW;
if (this instanceof MissileWeapon) {
@@ -22,7 +22,7 @@ import java.util.ArrayList;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Random;
@@ -61,7 +61,7 @@ public class KindOfWeapon extends EquipableItem {
hero.belongings.weapon = this;
activate( hero );
QuickSlot.refresh();
QuickSlotButton.refresh();
cursedKnown = true;
if (cursed) {
@@ -4,7 +4,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Random;
@@ -60,7 +60,7 @@ public class CapeOfThorns extends Artifact {
BuffIndicator.refreshHero();
GLog.w("Your Cape becomes inert again.");
}
QuickSlot.refresh();
QuickSlotButton.refresh();
}
spend(TICK);
return true;
@@ -92,7 +92,7 @@ public class CapeOfThorns extends Artifact {
}
}
QuickSlot.refresh();
QuickSlotButton.refresh();
return damage;
}
@@ -8,7 +8,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.tweeners.AlphaTweener;
@@ -185,7 +185,7 @@ public class CloakOfShadows extends Artifact {
if (cooldown > 0)
cooldown --;
QuickSlot.refresh();
QuickSlotButton.refresh();
spend( TICK );
@@ -227,7 +227,7 @@ public class CloakOfShadows extends Artifact {
GLog.p("Your Cloak Grows Stronger!");
}
QuickSlot.refresh();
QuickSlotButton.refresh();
spend( TICK );
@@ -247,7 +247,7 @@ public class CloakOfShadows extends Artifact {
cooldown = 10 - (level / 3);
QuickSlot.refresh();
QuickSlotButton.refresh();
super.detach();
}
}
@@ -19,7 +19,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.GhostSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
import com.watabou.noosa.audio.Sample;
@@ -211,7 +211,7 @@ public class DriedRose extends Artifact {
}
QuickSlot.refresh();
QuickSlotButton.refresh();
spend( TICK );
@@ -10,7 +10,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
import com.watabou.noosa.audio.Sample;
@@ -202,7 +202,7 @@ public class TimekeepersHourglass extends Artifact {
} else if (cursed && Random.Int(10) == 0)
((Hero) target).spend( TICK );
QuickSlot.refresh();
QuickSlotButton.refresh();
spend( TICK );
@@ -226,7 +226,7 @@ public class TimekeepersHourglass extends Artifact {
target.invisible++;
QuickSlot.refresh();
QuickSlotButton.refresh();
Dungeon.observe();
@@ -262,7 +262,7 @@ public class TimekeepersHourglass extends Artifact {
charge --;
}
QuickSlot.refresh();
QuickSlotButton.refresh();
if (charge <= 0){
detach();
@@ -301,7 +301,7 @@ public class TimekeepersHourglass extends Artifact {
GameScene.freezeEmitters = false;
charge = 0;
QuickSlot.refresh();
QuickSlotButton.refresh();
super.detach();
activeBuff = null;
}
@@ -13,7 +13,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMappi
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
import com.watabou.noosa.audio.Sample;
@@ -197,7 +197,7 @@ public class UnstableSpellbook extends Artifact {
}
}
QuickSlot.refresh();
QuickSlotButton.refresh();
spend( TICK );
@@ -39,7 +39,7 @@ import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.scenes.CellSelector;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Bundle;
import com.watabou.utils.Callback;
@@ -410,7 +410,7 @@ public abstract class Wand extends KindOfWeapon {
final int cell = Ballistica.cast( curUser.pos, target, true, curWand.hitChars );
curUser.sprite.zap( cell );
QuickSlot.target( curItem, Actor.findChar( cell ) );
QuickSlotButton.target(Actor.findChar(cell));
if (curWand.curCharges > 0) {