Add widget hidden change event, use in attack indicator plugin

This commit is contained in:
Frederik Engels
2018-01-14 10:27:09 -05:00
committed by Adam
parent 9f3a2c3e63
commit 53317cdfc8
3 changed files with 75 additions and 16 deletions

View File

@@ -24,15 +24,11 @@
*/
package net.runelite.client.plugins.attackindicator;
import static net.runelite.client.plugins.attackindicator.AttackStyle.CASTING;
import static net.runelite.client.plugins.attackindicator.AttackStyle.DEFENSIVE_CASTING;
import static net.runelite.client.plugins.attackindicator.AttackStyle.OTHER;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Binder;
import com.google.inject.Provides;
import java.time.temporal.ChronoUnit;
import java.util.HashSet;
import java.util.Set;
import javax.inject.Inject;
@@ -41,15 +37,18 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Skill;
import net.runelite.api.Varbits;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetHiddenChanged;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetID.COMBAT_GROUP_ID;
import net.runelite.api.widgets.WidgetInfo;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.task.Schedule;
import static net.runelite.client.plugins.attackindicator.AttackStyle.*;
@PluginDescriptor(
name = "Attack indicator plugin"
@@ -102,12 +101,14 @@ public class AttackIndicatorPlugin extends Plugin
return warnedSkillSelected;
}
@Schedule(
period = 600,
unit = ChronoUnit.MILLIS
)
public void hideWidgets()
@Subscribe
public void hideWidgets(WidgetHiddenChanged event)
{
if (event.getWidget().isHidden() || TO_GROUP(event.getWidget().getId()) != COMBAT_GROUP_ID)
{
return;
}
if (widgetsToHide == null)
{
return;