예제 #1
0
파일: MenuSys.java 프로젝트: bmh10/TwoPence
  private void changeLanguage() {
    for (int i = 0; i < NUM_BOXES; i++) {
      boxs[i].setText(txt[currMenu.ordinal()][i]);
      subBoxs[i].setText(txt[currSubMenu.ordinal()][i]);
    }
    //		for (int i = 0; i < NUM_SUB_BOXES; i++)
    //		{
    //			subMenuBoxs[i].setText(t);
    //		}

  }
예제 #2
0
파일: MenuSys.java 프로젝트: bmh10/TwoPence
  private void changeMenu(int i) {
    Menu m = nxtMenu[currMenu.ordinal()][i];
    if (m != Menu.NONE) {
      this.currMenu = m;
      subMenuVisible = false;
      // Animate boxes
      for (int n = 0; n < NUM_BOXES; n++) {
        boxs[n]
            .setPos(boxStartPos)
            .setText(txt[currMenu.ordinal()][n]); // .setSize(boxStartSize[1]);
      }
    } else {
      // TODO: put in special cases for things like 'quit' and options(sound, language etc.) here
      switch (currMenu) {
        case NONE:
        case MAIN:
          // When click on find opponent
          currSubMenu = currMenu;
          submenuSelected(0);
          break;
        case NEW_GAME:
          switch (i) {
            case 1:
              game.gameType = Game.SINGLE_PLY;
              game.startNewGame();
              break;
            case 2:
              game.gameType = Game.LOCAL_MULTI;
              game.startNewGame();
              break;
          }
          break;
        case FIND_OPPONENT:
          switch (i) {
          }
          break;
        case OPTIONS:
          changeSubmenu(Menu.GENERAL.ordinal(), i);

          break;
        case CHECK:
          switch (i) {
            case 1:
              System.exit(0);
              break;
          }
          break;
      }
    }

    SoundManager.MENUCLICK.play();
  }
예제 #3
0
파일: MenuSys.java 프로젝트: bmh10/TwoPence
 /*
  * Finds menu in Menu enum with specified index
  */
 private Menu calcMenuFromId(int i) {
   for (Menu m : Menu.values()) {
     if (m.ordinal() == i) {
       return m;
     }
   }
   return Menu.NONE;
 }
예제 #4
0
파일: MenuSys.java 프로젝트: bmh10/TwoPence
  /*
   * Setups up menus boxes in correct positions
   */
  private void setupBoxes() {
    int yoffset = 90;
    this.boxs = new Box[NUM_BOXES];
    this.subBoxs = new Box[NUM_BOXES];
    this.subMenuBoxs = new Box[NUM_SUB_BOXES];
    this.textFields = new TextField[NUM_TEXT_FIELDS];
    boxStartPos =
        new Vector2D((winSize.width - Box.size) / 2, (winSize.height - Box.size) / 2 + yoffset);

    this.centralBox =
        new Box(boxStartPos, "").setColor(Color.DARK_GRAY, Color.BLACK).setImage(game.imgs[1]);

    // TODO: Change dimensions
    subBoxStartPos =
        new Vector2D(winSize.width / 2 - Box.size * 3, (winSize.height - Box.size) / 2);

    for (int i = 0; i < NUM_BOXES; i++) {
      boxs[i] =
          new Box()
              .setPos(boxStartPos)
              .setSizeBoth(Box.size, Box.size)
              .setText(txt[currMenu.ordinal()][i]);
      subBoxs[i] = new Box().setPos(subBoxStartPos).setSizeBoth(Box.subSizeW, Box.subSizeH);
    }

    for (int i = 0; i < NUM_SUB_BOXES; i++) {
      subMenuBoxs[i] =
          new Box().setColor(Color.BLACK, Color.WHITE).setSizeBoth(Box.iconSize, Box.iconSize);
    }

    for (int i = 0; i < NUM_TEXT_FIELDS; i++) {
      textFields[i] = new TextField();
      textFields[i].setVisible(false);
      game.add(textFields[i]);
    }

    // Set positions to end in after animation
    boxs[0].setFinalPos(
        new Vector2D(
            (winSize.width - Box.size) / 2, (winSize.height - Box.size * 3) / 2 + yoffset));
    boxs[1].setFinalPos(
        new Vector2D(
            (winSize.width - Box.size * 3) / 2, (winSize.height - Box.size) / 2 + yoffset));
    boxs[2].setFinalPos(
        new Vector2D((winSize.width + Box.size) / 2, (winSize.height - Box.size) / 2 + yoffset));
    boxs[3].setFinalPos(
        new Vector2D((winSize.width - Box.size) / 2, (winSize.height + Box.size) / 2 + yoffset));

    // SubMenuBoxes[0] is always back button
    Vector2D p =
        centralBoxSubmenuPos =
            new Vector2D(
                boxs[0].getFinalPos().x - Box.size / 2, boxs[0].getFinalPos().y + Box.size / 2);
    subMenuBoxs[0] =
        new Box(new Vector2D(p.x + 2 * Box.size / 2 - 50, p.y + 2 * Box.size - 30), "BACK")
            .setSizeBoth(100, 30)
            .setColor(Color.BLACK, Color.WHITE);
  }
예제 #5
0
파일: MenuSys.java 프로젝트: bmh10/TwoPence
  /*
   * Animates subboxes depending on which main box was pressed
   */
  private void animateSubBoxesAndSetText(int i) {
    // Set final position depending on main box pressed
    Vector2D p = null;
    switch (i) {
      case 0:
      case 3:
        p = boxs[i].getFinalPos();
        for (int j = 0; j < NUM_BOXES; j++) {
          if (j < 2)
            subBoxs[j].setFinalPos(
                new Vector2D(p.x - Box.subSizeW, p.y + 6 + j * (Box.subSizeH + 6)));
          else
            subBoxs[j].setFinalPos(
                new Vector2D(p.x + Box.size, p.y + 6 + (j - 2) * (Box.subSizeH + 6)));
        }

        break;
      case 1:
      case 2:
        int ofst = (i == 2) ? 1 : -1;
        p = boxs[i].getFinalPos();
        for (int j = 0; j < NUM_BOXES; j++) {
          subBoxs[j].setFinalPos(
              new Vector2D(p.x + ofst * Box.subSizeW, p.y + 6 + j * (Box.subSizeH + 6)));
        }
        break;
    }

    subBoxStartPos = new Vector2D(p.x, p.y);

    // Animate subBoxes
    for (int n = 0; n < NUM_BOXES; n++) {
      subBoxs[n]
          .setPos(subBoxStartPos)
          .setText(txt[currSubMenu.ordinal()][n]); // .setSize(subBoxStartSize);
    }
  }