party: readd overlay leave party menu entry

This commit is contained in:
JOROUSS-2070\JoRouss
2021-05-20 18:14:51 -04:00
committed by Adam
parent d97148346d
commit ab2454ca75
3 changed files with 37 additions and 1 deletions

View File

@@ -105,7 +105,7 @@ class PartyPanel extends PluginPanel
if (result == JOptionPane.YES_OPTION)
{
party.changeParty(null);
plugin.leaveParty();
}
}
else

View File

@@ -46,6 +46,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.KeyCode;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.Player;
import net.runelite.api.Skill;
@@ -65,6 +66,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.discord.DiscordService;
import net.runelite.client.discord.events.DiscordJoinRequest;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.OverlayMenuClicked;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.events.PartyChanged;
import net.runelite.client.events.PartyMemberAvatar;
@@ -214,6 +216,37 @@ public class PartyPlugin extends Plugin
return configManager.getConfig(PartyConfig.class);
}
@Subscribe
public void onOverlayMenuClicked(OverlayMenuClicked event)
{
if (event.getEntry().getMenuAction() == MenuAction.RUNELITE_OVERLAY &&
event.getEntry().getTarget().equals("Party") &&
event.getEntry().getOption().equals("Leave"))
{
leaveParty();
}
}
void leaveParty()
{
party.changeParty(null);
if (!config.messages())
{
return;
}
final String leaveMessage = new ChatMessageBuilder()
.append(ChatColorType.HIGHLIGHT)
.append("You have left the party.")
.build();
chatMessageManager.queue(QueuedMessage.builder()
.type(ChatMessageType.FRIENDSCHATNOTIFICATION)
.runeLiteFormattedMessage(leaveMessage)
.build());
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{

View File

@@ -33,7 +33,9 @@ import java.awt.Rectangle;
import java.util.Map;
import java.util.UUID;
import javax.inject.Inject;
import net.runelite.api.MenuAction;
import net.runelite.client.plugins.party.data.PartyData;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.PanelComponent;
@@ -61,6 +63,7 @@ public class PartyStatsOverlay extends OverlayPanel
this.config = config;
panelComponent.setBorder(new Rectangle());
panelComponent.setGap(new Point(0, ComponentConstants.STANDARD_BORDER / 2));
getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Leave", "Party"));
}
@Override