@Override public void update() { if (setVisible(Dungeon.visible[pos])) { super.update(); if ((rippleDelay -= Game.elapsed) <= 0) { GameScene.ripple(pos + Dungeon.level.getWidth()).y -= DungeonTilemap.SIZE / 2; rippleDelay = Random.Float(0.2f, 0.3f); } } }
public void move(int from, int to) { play(run); motion = new PosTweener(this, worldToCamera(to), MOVE_INTERVAL); motion.listener = this; getParent().add(motion); isMoving = true; turnTo(from, to); if (getVisible() && Dungeon.level.water[from] && !ch.flying) { GameScene.ripple(from); } ch.onMotionComplete(); }