use of org.powerbot.bot.rt6.client.MenuItemNode 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);
}
use of org.powerbot.bot.rt6.client.MenuItemNode in project powerbot by powerbot.
the class Menu method commands.
/**
* Returns an array of all the current menu commands.
*
* @return the array of menu commands
*/
public MenuCommand[] commands() {
final List<MenuItemNode> items = getMenuItemNodes();
final int size = items.size();
final MenuCommand[] arr = new MenuCommand[size];
for (int i = 0; i < size; i++) {
final MenuItemNode node = items.get(i);
arr[i] = new MenuCommand(node.getAction(), node.getOption());
}
return arr;
}
use of org.powerbot.bot.rt6.client.MenuItemNode 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;
}
Aggregations