Search in sources :

Example 6 with Callback

use of com.watabou.utils.Callback in project pixel-dungeon by watabou.

the class TenguSprite method attack.

@Override
public void attack(int cell) {
    if (!Level.adjacent(cell, ch.pos)) {
        ((MissileSprite) parent.recycle(MissileSprite.class)).reset(ch.pos, cell, new Shuriken(), new Callback() {

            @Override
            public void call() {
                ch.onAttackComplete();
            }
        });
        play(cast);
        turnTo(ch.pos, cell);
    } else {
        super.attack(cell);
    }
}
Also used : Callback(com.watabou.utils.Callback) Shuriken(com.watabou.pixeldungeon.items.weapon.missiles.Shuriken)

Example 7 with Callback

use of com.watabou.utils.Callback in project pixel-dungeon by watabou.

the class ScorpioSprite method onComplete.

@Override
public void onComplete(Animation anim) {
    if (anim == zap) {
        idle();
        ((MissileSprite) parent.recycle(MissileSprite.class)).reset(ch.pos, cellToAttack, new Dart(), new Callback() {

            @Override
            public void call() {
                ch.onAttackComplete();
            }
        });
    } else {
        super.onComplete(anim);
    }
}
Also used : Callback(com.watabou.utils.Callback) Dart(com.watabou.pixeldungeon.items.weapon.missiles.Dart)

Example 8 with Callback

use of com.watabou.utils.Callback in project pixel-dungeon by watabou.

the class HeroSprite method read.

public void read() {
    animCallback = new Callback() {

        @Override
        public void call() {
            idle();
            ch.onOperateComplete();
        }
    };
    play(read);
}
Also used : Callback(com.watabou.utils.Callback)

Example 9 with Callback

use of com.watabou.utils.Callback in project pixel-dungeon by watabou.

the class WarlockSprite method zap.

public void zap(int cell) {
    turnTo(ch.pos, cell);
    play(zap);
    MagicMissile.shadow(parent, ch.pos, cell, new Callback() {

        @Override
        public void call() {
            ((Warlock) ch).onZapComplete();
        }
    });
    Sample.INSTANCE.play(Assets.SND_ZAP);
}
Also used : Callback(com.watabou.utils.Callback)

Example 10 with Callback

use of com.watabou.utils.Callback in project pixel-dungeon by watabou.

the class Item method cast.

public void cast(final Hero user, int dst) {
    final int cell = Ballistica.cast(user.pos, dst, false, true);
    user.sprite.zap(cell);
    user.busy();
    Sample.INSTANCE.play(Assets.SND_MISS, 0.6f, 0.6f, 1.5f);
    Char enemy = Actor.findChar(cell);
    QuickSlot.target(this, enemy);
    // FIXME!!!
    float delay = TIME_TO_THROW;
    if (this instanceof MissileWeapon) {
        delay *= ((MissileWeapon) this).speedFactor(user);
        if (enemy != null) {
            SnipersMark mark = user.buff(SnipersMark.class);
            if (mark != null) {
                if (mark.object == enemy.id()) {
                    delay *= 0.5f;
                }
                user.remove(mark);
            }
        }
    }
    final float finalDelay = delay;
    ((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)).reset(user.pos, cell, this, new Callback() {

        @Override
        public void call() {
            Item.this.detach(user.belongings.backpack).onThrow(cell);
            user.spendAndNext(finalDelay);
        }
    });
}
Also used : SnipersMark(com.watabou.pixeldungeon.actors.buffs.SnipersMark) Callback(com.watabou.utils.Callback) Char(com.watabou.pixeldungeon.actors.Char) MissileWeapon(com.watabou.pixeldungeon.items.weapon.missiles.MissileWeapon) MissileSprite(com.watabou.pixeldungeon.sprites.MissileSprite)

Aggregations

Callback (com.watabou.utils.Callback)11 BitmapText (com.watabou.noosa.BitmapText)2 Shuriken (com.watabou.pixeldungeon.items.weapon.missiles.Shuriken)2 MissileSprite (com.watabou.pixeldungeon.sprites.MissileSprite)2 Archs (com.watabou.pixeldungeon.ui.Archs)2 ExitButton (com.watabou.pixeldungeon.ui.ExitButton)2 BitmapTextMultiline (com.watabou.noosa.BitmapTextMultiline)1 Group (com.watabou.noosa.Group)1 Image (com.watabou.noosa.Image)1 Badges (com.watabou.pixeldungeon.Badges)1 Char (com.watabou.pixeldungeon.actors.Char)1 Hunger (com.watabou.pixeldungeon.actors.buffs.Hunger)1 SnipersMark (com.watabou.pixeldungeon.actors.buffs.SnipersMark)1 HeroClass (com.watabou.pixeldungeon.actors.hero.HeroClass)1 Mob (com.watabou.pixeldungeon.actors.mobs.Mob)1 Item (com.watabou.pixeldungeon.items.Item)1 Dart (com.watabou.pixeldungeon.items.weapon.missiles.Dart)1 MissileWeapon (com.watabou.pixeldungeon.items.weapon.missiles.MissileWeapon)1 WndBadge (com.watabou.pixeldungeon.windows.WndBadge)1 WndOptions (com.watabou.pixeldungeon.windows.WndOptions)1