Search in sources :

Example 1 with MenuGroupNode

use of org.powerbot.bot.rt6.client.MenuGroupNode in project powerbot by powerbot.

the class Menu method hoverIndex.

private Point hoverIndex(final Client client, final int index) {
    int _index = 0, main = -1;
    Vector2 addum = new Vector2(0, 16 * index);
    collapsed: if (client.isMenuCollapsed()) {
        for (final MenuGroupNode g : NodeQueue.get(client.getCollapsedMenuItems(), MenuGroupNode.class)) {
            main++;
            final List<MenuItemNode> t = NodeQueue.get(g.getItems(), MenuItemNode.class);
            for (int i = 0; i < t.size(); i++) {
                if (_index++ == index) {
                    if (i == 0) {
                        addum = new Vector2(0, 16 * main);
                        break collapsed;
                    } else {
                        return hoverSub(client, main, i);
                    }
                }
            }
        }
        if (client.isMenuOpen()) {
            close();
        }
        return new Point(-1, -1);
    }
    final Vector2 p = new Vector2(client.getMenuX() + Random.nextInt(4, client.getMenuWidth() - 5), client.getMenuY() + 21 + Random.nextInt(2, 15)).add(addum);
    return ctx.input.move(p.toPoint()) && client.isMenuOpen() ? p.toPoint() : new Point(-1, -1);
}
Also used : MenuItemNode(org.powerbot.bot.rt6.client.MenuItemNode) Vector2(org.powerbot.script.Vector2) List(java.util.List) LinkedList(java.util.LinkedList) Point(java.awt.Point) MenuGroupNode(org.powerbot.bot.rt6.client.MenuGroupNode) Point(java.awt.Point)

Example 2 with MenuGroupNode

use of org.powerbot.bot.rt6.client.MenuGroupNode in project powerbot by powerbot.

the class Menu method getMenuItemNodes.

private List<MenuItemNode> getMenuItemNodes() {
    final List<MenuItemNode> nodes = new LinkedList<MenuItemNode>();
    final Client client = ctx.client();
    if (client == null) {
        return nodes;
    }
    final boolean collapsed;
    if (collapsed = client.isMenuCollapsed()) {
        for (final MenuGroupNode n : NodeQueue.get(client.getCollapsedMenuItems(), MenuGroupNode.class)) {
            nodes.addAll(NodeQueue.get(n.getItems(), MenuItemNode.class));
        }
    } else {
        nodes.addAll(NodeQueue.get(client.getMenuItems(), MenuItemNode.class));
    }
    if (nodes.size() > 1) {
        final MenuItemNode node = nodes.get(0);
        final String action = node.getAction();
        if (action != null && StringUtils.stripHtml(action).equalsIgnoreCase(collapsed ? "Walk here" : "Cancel")) {
            Collections.reverse(nodes);
        }
    }
    return nodes;
}
Also used : MenuItemNode(org.powerbot.bot.rt6.client.MenuItemNode) Client(org.powerbot.bot.rt6.client.Client) MenuGroupNode(org.powerbot.bot.rt6.client.MenuGroupNode) LinkedList(java.util.LinkedList)

Aggregations

LinkedList (java.util.LinkedList)2 MenuGroupNode (org.powerbot.bot.rt6.client.MenuGroupNode)2 MenuItemNode (org.powerbot.bot.rt6.client.MenuItemNode)2 Point (java.awt.Point)1 List (java.util.List)1 Client (org.powerbot.bot.rt6.client.Client)1 Vector2 (org.powerbot.script.Vector2)1