diff --git a/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java b/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java index 80e3da8df..5dd0eca6f 100644 --- a/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java +++ b/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java @@ -22,6 +22,7 @@ import com.github.manolo8.darkbot.core.objects.facades.InventoryProxy; import com.github.manolo8.darkbot.core.objects.facades.LogMediator; import com.github.manolo8.darkbot.core.objects.facades.NpcEventProxy; +import com.github.manolo8.darkbot.core.objects.facades.QuestGiverMediator; import com.github.manolo8.darkbot.core.objects.facades.SeassonPassMediator; import com.github.manolo8.darkbot.core.objects.facades.QuestProxy; import com.github.manolo8.darkbot.core.objects.facades.SettingsProxy; @@ -99,6 +100,7 @@ public FacadeManager(PluginAPI pluginApi) { registerMediator("AssemblyWindowMediator", AssemblyMediator.class); registerProxy("InventoryProxy", InventoryProxy.class); registerProxy("QuestProxy", QuestProxy.class); + registerMediator("QuestGiverWindowMediator", QuestGiverMediator.class); registerMediator("diminish_quests", DiminishQuestMediator.class); registerMediator("seasonPass", SeassonPassMediator.class); diff --git a/src/main/java/com/github/manolo8/darkbot/core/objects/facades/QuestGiverMediator.java b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/QuestGiverMediator.java new file mode 100644 index 000000000..d209bf1ec --- /dev/null +++ b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/QuestGiverMediator.java @@ -0,0 +1,31 @@ +package com.github.manolo8.darkbot.core.objects.facades; + +import com.github.manolo8.darkbot.core.itf.Updatable; + +import eu.darkbot.api.API; +import lombok.Getter; + +import static com.github.manolo8.darkbot.Main.API; + +@Getter +public class QuestGiverMediator extends Updatable implements API.Singleton { + + private double positionX; + private double positionY; + private boolean focused; + + @Override + public void update() { + if (address == 0) { + return; + } + + long data = API.readAtom(address + 0x30); + + this.positionX = API.readDouble(data + 0x2F8); + this.positionY = API.readDouble(data + 0x300); + + this.focused = API.readBoolean(data + 0x49C); + } + +}