@Override
  protected void controlUpdate(float tpf) {

    if (fire) {
      bulletTimer += tpf;

      if (bulletTimer > 0.07f) {
        Geometry newBullet = bullet.clone(false);
        newBullet.setLocalRotation(
            shipNode.getControl(RigidBodyControl.class).getPhysicsRotation().clone());
        newBullet.setLocalTranslation(
            shipNode.getControl(RigidBodyControl.class).getPhysicsLocation().clone());
        newBullet.addControl(
            new BulletControl(newBullet.getLocalTranslation(), newBullet, bulletApp, shape, asm));
        asm.getRootNode().attachChild(newBullet);
        bulletTimer = 0f;
      }
    } else if (!fire) {
      bulletTimer = 0f;
    }
  }