Search in sources :

Example 6 with Client

use of net.runelite.api.Client in project runelite by runelite.

the class MenuManager method removePlayerMenuItem.

private void removePlayerMenuItem(int playerOptionIndex) {
    Client client = clientProvider.get();
    if (client == null) {
        return;
    }
    client.getPlayerOptions()[playerOptionIndex] = null;
    playerMenuIndexMap.remove(playerOptionIndex);
}
Also used : Client(net.runelite.api.Client)

Example 7 with Client

use of net.runelite.api.Client in project runelite by runelite.

the class MenuManager method findEmptyPlayerMenuIndex.

/**
 * Find the next empty player menu slot index
 *
 * @return
 */
private int findEmptyPlayerMenuIndex() {
    int index = IDX_LOWER;
    Client client = clientProvider.get();
    if (client == null) {
        return IDX_UPPER;
    }
    String[] playerOptions = client.getPlayerOptions();
    while (index < IDX_UPPER && playerOptions[index] != null) {
        index++;
    }
    return index;
}
Also used : Client(net.runelite.api.Client)

Example 8 with Client

use of net.runelite.api.Client in project runelite by runelite.

the class MenuManager method addPlayerMenuItem.

private void addPlayerMenuItem(int playerOptionIndex, String menuText) {
    Client client = clientProvider.get();
    if (client == null) {
        return;
    }
    client.getPlayerOptions()[playerOptionIndex] = menuText;
    client.getPlayerOptionsPriorities()[playerOptionIndex] = true;
    client.getPlayerMenuTypes()[playerOptionIndex] = MenuAction.RUNELITE.getId();
    playerMenuIndexMap.put(playerOptionIndex, menuText);
}
Also used : Client(net.runelite.api.Client)

Example 9 with Client

use of net.runelite.api.Client in project runelite by runelite.

the class MenuManager method removeNpcMenuOption.

public void removeNpcMenuOption(String option) {
    npcMenuOptions.remove(option);
    // remove this option from all npc compositions
    Client client = clientProvider.get();
    if (client == null) {
        return;
    }
    for (NPC npc : client.getNpcs()) {
        NPCComposition composition = npc.getComposition();
        removeNpcOption(composition, option);
    }
}
Also used : NPC(net.runelite.api.NPC) NPCComposition(net.runelite.api.NPCComposition) Client(net.runelite.api.Client)

Example 10 with Client

use of net.runelite.api.Client in project runelite by runelite.

the class MenuManager method addNpcMenuOption.

public void addNpcMenuOption(String option) {
    npcMenuOptions.add(option);
    // add to surrounding npcs
    Client client = clientProvider.get();
    if (client == null) {
        return;
    }
    for (NPC npc : client.getNpcs()) {
        NPCComposition composition = npc.getComposition();
        addNpcOption(composition, option);
    }
}
Also used : NPC(net.runelite.api.NPC) NPCComposition(net.runelite.api.NPCComposition) Client(net.runelite.api.Client)

Aggregations

Client (net.runelite.api.Client)23 Dimension (java.awt.Dimension)6 Rectangle (java.awt.Rectangle)6 Point (java.awt.Point)5 Color (java.awt.Color)3 Subscribe (com.google.common.eventbus.Subscribe)2 Graphics2D (java.awt.Graphics2D)2 BufferedImage (java.awt.image.BufferedImage)2 List (java.util.List)2 Objects (java.util.Objects)2 Collectors (java.util.stream.Collectors)2 Stream (java.util.stream.Stream)2 MenuEntry (net.runelite.api.MenuEntry)2 NPC (net.runelite.api.NPC)2 NPCComposition (net.runelite.api.NPCComposition)2 InfoBoxOverlay (net.runelite.client.ui.overlay.infobox.InfoBoxOverlay)2 TooltipOverlay (net.runelite.client.ui.overlay.tooltip.TooltipOverlay)2 MoreObjects (com.google.common.base.MoreObjects)1 Inject (com.google.inject.Inject)1 Applet (java.applet.Applet)1