Esempio n. 1
0
  @Override
  public void mouseClicked(int mouseX, int mouseY, int button) {
    if (active && RadialMenu.animationTimer == 0) {
      double mouseAngle = AngleHelper.getMouseAngle();
      mouseAngle -= ClientTickHandler.ANGLE_PER_ITEM / 2;
      mouseAngle = 360 - mouseAngle;
      mouseAngle = AngleHelper.correctAngle(mouseAngle);

      if (!mc.gameSettings.hideGUI) {
        for (int i = 0; i < RadialMenu.MAX_ITEMS; i++) {
          double currAngle = ClientTickHandler.ANGLE_PER_ITEM * i;
          double nextAngle = currAngle + ClientTickHandler.ANGLE_PER_ITEM;
          currAngle = AngleHelper.correctAngle(currAngle);
          nextAngle = AngleHelper.correctAngle(nextAngle);

          boolean mouseIn = mouseAngle > currAngle && mouseAngle < nextAngle;

          if (mouseIn) {
            MenuItem item = RadialMenu.getActiveArray()[i];
            boolean disabled =
                item != null
                    && !ActionSessionData.availableActions.contains(
                        item.clickAction.getClickAction());

            if (item != null && item.clickAction != null) {
              if (isShiftKeyDown() || (ClientProxy.rightClickToEdit && button == 1)) {
                deactivate();
                GuiStack.push(new GuiMenuItem(i, item));
                return;
              } else {
                if (!disabled && button == 0) {
                  if (item.clickAction.onClicked()) {
                    deactivate();
                    return;
                  }
                }
              }
            } else {
              if (button == 0) {
                deactivate();
                GuiStack.push(new GuiMenuItem(i, item));
                return;
              }
            }
          }
        }
      }
    }
  }