use of com.watabou.noosa.particles.Emitter in project pixel-dungeon by watabou.
the class Torch method execute.
@Override
public void execute(Hero hero, String action) {
if (action == AC_LIGHT) {
hero.spend(TIME_TO_LIGHT);
hero.busy();
hero.sprite.operate(hero.pos);
detach(hero.belongings.backpack);
Buff.affect(hero, Light.class, Light.DURATION);
Emitter emitter = hero.sprite.centerEmitter();
emitter.start(FlameParticle.FACTORY, 0.2f, 3);
} else {
super.execute(hero, action);
}
}
use of com.watabou.noosa.particles.Emitter in project pixel-dungeon by watabou.
the class GameScene method emitter.
public static Emitter emitter() {
if (scene != null) {
Emitter emitter = (Emitter) scene.emitters.recycle(Emitter.class);
emitter.revive();
return emitter;
} else {
return null;
}
}
use of com.watabou.noosa.particles.Emitter in project pixel-dungeon by watabou.
the class CharSprite method emitter.
public Emitter emitter() {
Emitter emitter = GameScene.emitter();
emitter.pos(this);
return emitter;
}
use of com.watabou.noosa.particles.Emitter in project pixel-dungeon by watabou.
the class StatusPane method update.
@Override
public void update() {
super.update();
if (tagDanger != danger.visible || tagLoot != loot.visible || tagResume != resume.visible) {
tagDanger = danger.visible;
tagLoot = loot.visible;
tagResume = resume.visible;
layoutTags();
}
float health = (float) Dungeon.hero.HP / Dungeon.hero.HT;
if (health == 0) {
avatar.tint(0x000000, 0.6f);
blood.on = false;
} else if (health < 0.25f) {
avatar.tint(0xcc0000, 0.4f);
blood.on = true;
} else {
avatar.resetColor();
blood.on = false;
}
hp.scale.x = health;
exp.scale.x = (width / exp.width) * Dungeon.hero.exp / Dungeon.hero.maxExp();
if (Dungeon.hero.lvl != lastLvl) {
if (lastLvl != -1) {
Emitter emitter = (Emitter) recycle(Emitter.class);
emitter.revive();
emitter.pos(27, 27);
emitter.burst(Speck.factory(Speck.STAR), 12);
}
lastLvl = Dungeon.hero.lvl;
level.text(Integer.toString(lastLvl));
level.measure();
level.x = PixelScene.align(27.5f - level.width() / 2);
level.y = PixelScene.align(28.0f - level.baseLine() / 2);
}
int k = IronKey.curDepthQuantity;
if (k != lastKeys) {
lastKeys = k;
keys.text(Integer.toString(lastKeys));
keys.measure();
keys.x = width - 8 - keys.width() - 18;
}
int tier = Dungeon.hero.tier();
if (tier != lastTier) {
lastTier = tier;
avatar.copy(HeroSprite.avatar(Dungeon.hero.heroClass, tier));
}
}
use of com.watabou.noosa.particles.Emitter in project pixel-dungeon by watabou.
the class CellEmitter method get.
public static Emitter get(int cell) {
PointF p = DungeonTilemap.tileToWorld(cell);
Emitter emitter = GameScene.emitter();
emitter.pos(p.x, p.y, DungeonTilemap.SIZE, DungeonTilemap.SIZE);
return emitter;
}
Aggregations