コード例 #1
3
  @Override
  public void onComplete(Animation anim) {
    super.onComplete(anim);

    if (visible && emitter != null && anim == idle) {
      emitter.burst(Speck.factory(Speck.FORGE), 3);
      float volume = 0.2f / (Level.distance(ch.pos, Dungeon.hero.pos));
      Sample.INSTANCE.play(Assets.SND_EVOKE, volume, volume, 0.8f);
    }
  }
コード例 #2
0
 @Override
 public void link(Char ch) {
   super.link(ch);
   if (levitating) {
     add(State.LEVITATING);
   }
 }
コード例 #3
0
 @Override
 public void die() {
   super.die();
   if (levitating) {
     remove(State.LEVITATING);
   }
 }
コード例 #4
0
 @Override
 public void onComplete(Animation anim) {
   if (anim == zap) {
     idle();
   }
   super.onComplete(anim);
 }
コード例 #5
0
 @Override
 public void attack(int cell) {
   super.attack(cell);
   if (Random.Float() < 0.5f) {
     play(kick);
   }
 }
コード例 #6
0
  @Override
  public void update() {
    super.update();

    if (emitter != null) {
      emitter.visible = visible;
    }
  }
コード例 #7
0
  @Override
  public void die() {
    super.die();

    if (cloud != null) {
      cloud.on = false;
    }
  }
コード例 #8
0
  @Override
  public void update() {

    super.update();

    if (cloud != null) {
      cloud.visible = visible;
    }
  }
コード例 #9
0
  @Override
  public void link(Char ch) {
    super.link(ch);

    if (cloud == null) {
      cloud = emitter();
      cloud.pour(Speck.factory(Speck.TOXIC), 0.7f);
    }
  }
コード例 #10
0
  @Override
  public void link(Char ch) {
    super.link(ch);

    emitter = new Emitter();
    emitter.autoKill = false;
    emitter.pos(x + 7, y + 12);
    parent.add(emitter);
  }
コード例 #11
0
  @Override
  public void onComplete(Animation anim) {
    super.onComplete(anim);

    if (anim == attack) {
      if (Dungeon.visible[ch.pos] || Dungeon.visible[attackPos]) {
        parent.add(new Beam.DeathRay(center(), DungeonTilemap.tileCenterToWorld(attackPos)));
      }
    }
  }
コード例 #12
0
  @Override
  public void attack(int cell) {
    if (!Level.adjacent(cell, ch.pos)) {

      cellToAttack = cell;
      turnTo(ch.pos, cell);
      play(zap);

    } else {

      super.attack(cell);
    }
  }
コード例 #13
0
  @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);
    }
  }
コード例 #14
0
  @Override
  public void onComplete(Animation anim) {
    if (anim == attack) {

      Sample.INSTANCE.play(Assets.SND_ZAP);
      MagicMissile.shadow(
          parent,
          ch.pos,
          posToShoot,
          new Callback() {
            @Override
            public void call() {
              ch.onAttackComplete();
            }
          });

      idle();

    } else {
      super.onComplete(anim);
    }
  }
コード例 #15
0
  @Override
  public void attack(int cell) {
    if (!Level.adjacent(cell, ch.pos)) {

      ((MissileSprite) parent.recycle(MissileSprite.class))
          .reset(
              ch.pos,
              cell,
              new CurareDart(),
              new Callback() {
                @Override
                public void call() {
                  ch.onAttackComplete();
                }
              });

      play(cast);
      turnTo(ch.pos, cell);

    } else {

      super.attack(cell);
    }
  }
コード例 #16
0
ファイル: GhostSprite.java プロジェクト: royleon4/PD-ice
 /*
  * @Override public void draw() { GLES20.glBlendFunc( GL10.GL_SRC_ALPHA,
  * GL10.GL_ONE ); super.draw(); GLES20.glBlendFunc( GL10.GL_SRC_ALPHA,
  * GL10.GL_ONE_MINUS_SRC_ALPHA ); }
  */
 @Override
 public void die() {
   super.die();
   emitter().start(ShaftParticle.FACTORY, 0.3f, 4);
   emitter().start(Speck.factory(Speck.LIGHT), 0.2f, 3);
 }
コード例 #17
0
 @Override
 public void attack(int cell) {
   posToShoot = cell;
   super.attack(cell);
 }
コード例 #18
0
 @Override
 public void onComplete(Animation anim) {
   super.onComplete(anim == kick ? attack : anim);
 }
コード例 #19
0
 @Override
 public void attack(int pos) {
   attackPos = pos;
   super.attack(pos);
 }