Make VarbitChanged only fire once, after everything has settled

This commit is contained in:
Max Weber
2018-05-09 21:20:36 -06:00
parent 564f54a42b
commit c9d0abc1c3
3 changed files with 22 additions and 3 deletions

View File

@@ -74,7 +74,6 @@ import net.runelite.api.events.PlayerMenuOptionsChanged;
import net.runelite.api.events.PlayerSpawned;
import net.runelite.api.events.ResizeableChanged;
import net.runelite.api.events.UsernameChanged;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.mixins.Copy;
import net.runelite.api.mixins.FieldHook;
@@ -129,6 +128,9 @@ public abstract class RSClientMixin implements RSClient
@Inject
private static int inventoryDragDelay;
@Inject
private static boolean hasVarbitChanged;
@Inject
@Override
public boolean isInterpolatePlayerAnimations()
@@ -815,8 +817,16 @@ public abstract class RSClientMixin implements RSClient
@Inject
public static void settingsChanged(int idx)
{
VarbitChanged varbitChanged = new VarbitChanged();
eventBus.post(varbitChanged);
hasVarbitChanged = true;
}
@Inject
@Override
public boolean shouldPostVarbitEvent()
{
boolean ret = hasVarbitChanged;
hasVarbitChanged = false;
return ret;
}
@FieldHook("isResized")