예제 #1
0
  public static void open(
      Plugin plugin, SpoutPlayer splayer) { // method used to open the GUI for a player
    GenericTexture face = new GenericTexture();

    int width = splayer.getCurrentScreen().getWidth();
    int height = splayer.getCurrentScreen().getHeight();
    face.setUrl(
        "http://landoflegend.net/forums/images/CoderGreen/site_logo.png"); // this must be a png
                                                                           // image
    face.setWidth(splayer.getCurrentScreen().getWidth() / 8)
        .setHeight(
            splayer.getCurrentScreen().getHeight()
                / 8); // you can manipulate the size of most widgets
    // face.setAnchor(WidgetAnchor.CENTER_CENTER); // the enum type WidgetAnchor provides a
    // convenience method for placing widgets
    face.setX(width / 2 - face.getWidth() / 2);
    face.setY(height - face.getHeight() - 5);

    //        GenericButton button = new GenericButton("The Drogans?!");
    //        button.setWidth(80);
    //        button.setHeight(20);
    //        button.setX(width/4);
    //        button.setY(height/2);
    //        button.setAnchor(WidgetAnchor.CENTER_LEFT);

    GenericListWidget scrollTry = new GenericListWidget();
    ListWidgetItem item = new ListWidgetItem("Drogans", "Drogans");
    scrollTry.addItem(item);

    scrollTry.setX(width / 4);
    scrollTry.setY(height / 2);

    GenericLabel label = new GenericLabel("Clans - First try");
    // label.setAnchor(WidgetAnchor.CENTER_RIGHT);
    label.setWidth(80);
    label.setHeight(40);
    label.setScale(1);
    label.setX(width / 2 - label.getWidth() / 2);
    label.setY(20);

    GenericPopup popup = new GenericPopup(); // create the popup (A popup will "free the mouse")
    popup.attachWidget(plugin, face); // attach any widgets we want to the popup
    popup.attachWidget(plugin, scrollTry);
    popup.attachWidget(plugin, label);

    //        button.set

    splayer.closeActiveWindow();
    splayer.getMainScreen().attachPopupScreen(popup); // attach the popup to the players screen
  }
  public void onCustomEvent(Event event) {
    if (event instanceof ButtonClickEvent) {
      Button button = ((ButtonClickEvent) event).getButton();
      UUID uuid = button.getId();
      SpoutPlayer sPlayer = ((ButtonClickEvent) event).getPlayer();
      ItemStack itemInHand = sPlayer.getInventory().getItemInHand();
      int id = sPlayer.getEntityId();
      if (BITBook.BITButtons.get(uuid) == "saveBookButton") {
        BITBook.popupScreen.get(id).close();
        BITBook.cleanupPopupScreen(sPlayer);
        BITBook.BITButtons.remove(uuid);
        int i = BITBook.currentPageNo.get(id);
        BITBook.bodytextGUI2.get(id)[i] = BITBook.bodytextGUI.get(id).getText();

        BITBook.saveBook(sPlayer, BITBook.currentBookId.get(id));
        itemInHand.setDurability(BITBook.currentBookId.get(id));
        sPlayer.closeActiveWindow();
        BITBook.hasOpenedBook.put(id, false);

      } else if (BITBook.BITButtons.get(uuid) == "cancelBookButton"
          || BITBook.BITButtons.get(uuid) == "returnBookButton") {
        BITBook.popupScreen.get(id).close();
        BITBook.cleanupPopupScreen(sPlayer);
        BITBook.BITButtons.remove(uuid);
        BITBook.bitBooks.remove(BITBook.currentBookId.get(id));
        BITBook.currentBookId.put(id, (short) 1000);
        sPlayer.closeActiveWindow();
        BITBook.hasOpenedBook.put(id, false);

      } else if ((BITBook.BITButtons.get(uuid) == "nextPageButton")) {
        if (validateFields(sPlayer)) {
          BITBook.showNextPage(sPlayer);
        }
      } else if ((BITBook.BITButtons.get(uuid) == "previousPageButton")) {
        if (validateFields(sPlayer)) {
          BITBook.showPreviousPage(sPlayer);
        }
      } else if ((BITBook.BITButtons.get(uuid) == "masterCopyButton")) {
        if (validateFields(sPlayer)) {
          if (BITBook.masterCopyGUI.get(id)) {
            BITBook.masterCopyGUI.put(id, false);
          } else {
            BITBook.masterCopyGUI.put(id, true);
          }
          BITBook.masterCopyButtonGUI.get(id).setText("Master:" + BITBook.masterCopyGUI.get(id));
          BITBook.masterCopyButtonGUI.get(id).setDirty(true);
        }
      } else if ((BITBook.BITButtons.get(uuid) == "forceBookToPlayerInventoryButton")) {
        if (validateFields(sPlayer)) {
          if (BITBook.forceBookToPlayerInventoryGUI.get(id)) {
            BITBook.forceBookToPlayerInventoryGUI.put(id, false);
          } else {
            BITBook.forceBookToPlayerInventoryGUI.put(id, true);
          }
          BITBook.forceBookToPlayerInventoryButtonGUI
              .get(id)
              .setText("Force:" + BITBook.forceBookToPlayerInventoryGUI.get(id));
          BITBook.forceBookToPlayerInventoryButtonGUI.get(id).setDirty(true);
        }
      } else if ((BITBook.BITButtons.get(uuid) == "canBeMovedFromInventoryButton")) {
        if (validateFields(sPlayer)) {
          if (BITBook.canBeMovedFromInventoryGUI.get(id)) {
            BITBook.canBeMovedFromInventoryGUI.put(id, false);
          } else {
            BITBook.canBeMovedFromInventoryGUI.put(id, true);
          }
          BITBook.canBeMovedFromInventoryButtonGUI
              .get(id)
              .setText("Moved:" + BITBook.canBeMovedFromInventoryGUI.get(id));
          BITBook.canBeMovedFromInventoryButtonGUI.get(id).setDirty(true);
        }
      } else if ((BITBook.BITButtons.get(uuid) == "copyTheBookWhenMovedButton")) {
        if (validateFields(sPlayer)) {
          if (BITBook.copyTheBookWhenMovedGUI.get(id)) {
            BITBook.copyTheBookWhenMovedGUI.put(id, false);
          } else {
            BITBook.copyTheBookWhenMovedGUI.put(id, true);
          }
          BITBook.copyTheBookWhenMovedButtonGUI
              .get(id)
              .setText("Copy:" + BITBook.copyTheBookWhenMovedGUI.get(id));
          BITBook.copyTheBookWhenMovedButtonGUI.get(id).setDirty(true);
        }
      }

      // ************************************
      // This only happens if I have forgot to handle a button
      // ************************************
      else {
        if (BITConfig.DEBUG_GUI)
          sPlayer.sendMessage(
              "BITBookSpoutListener: Unknow button:" + BITBook.BITButtons.get(uuid));
      }
    }
  }