コード例 #1
0
ファイル: Saver.java プロジェクト: tomcurran/gizmoball
  private void saveGizmos(Board board) {
    int x, y;
    for (IGizmo gizmo : board.getGizmos()) {
      switch (gizmo.getType()) {
        case CircleBumper:
          saveGizmo(gizmo, "Circle");
          break;

        case SquareBumper:
          saveGizmo(gizmo, "Square");
          break;

        case TriangleBumper:
          saveGizmo(gizmo, "Triangle");
          break;

        case Flipper:
          Class<? extends IGizmo> cls = gizmo.getClass();
          if (cls.equals(LeftFlipper.class)) {
            saveGizmo(gizmo, "LeftFlipper");
          } else if (cls.equals(RightFlipper.class)) {
            saveGizmo(gizmo, "RightFlipper");
          }
          break;

        case Absorber:
          x = gizmo.getX();
          y = gizmo.getY();
          fileOutput.format(
              ABSORBER_FORMAT,
              giveName(gizmo, "Absorber"),
              x,
              y,
              x + gizmo.getWidth(),
              y + gizmo.getHeight());
          break;

        case AcceleratorGizmo:
          saveGizmo(gizmo, "Accelerator");
          break;

        case GateGizmo:
          saveGizmo(gizmo, "Gate");
          break;

        case SpinnerGizmo:
          saveGizmo(gizmo, "Spinner");
          break;

        case MultiballGizmo:
          saveGizmo(gizmo, "Multiball");
          break;

        case PortalGizmo:
          saveGizmo(gizmo, "Portal");
          break;

        default:
          throw new IllegalStateException(
              String.format("Unknown gizmo type '%s'.", gizmo.getType()));
      }
    }
  }