From 85c167b4cbece949863d6eb6fd662e11b0db0747 Mon Sep 17 00:00:00 2001 From: dm94 Date: Sun, 10 Mar 2024 17:35:16 +0100 Subject: [PATCH 1/2] feat: QuestGiverMediator --- .../darkbot/core/manager/FacadeManager.java | 3 ++ .../objects/facades/QuestGiverMediator.java | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/main/java/com/github/manolo8/darkbot/core/objects/facades/QuestGiverMediator.java 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 2543dc7b5..6924767a4 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 @@ -21,6 +21,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.QuestProxy; import com.github.manolo8.darkbot.core.objects.facades.SettingsProxy; import com.github.manolo8.darkbot.core.objects.facades.SlotBarsProxy; @@ -94,6 +95,8 @@ public FacadeManager(PluginAPI pluginApi) { registerMediator("AssemblyWindowMediator", AssemblyMediator.class); registerProxy("InventoryProxy", InventoryProxy.class); registerProxy("QuestProxy", QuestProxy.class); + registerMediator("QuestGiverWindowMediator", QuestGiverMediator.class); + npcEvents.put(EventType.GENERIC, this.npcEventProxy = registerProxy("npc_event", NpcEventProxy.class)); npcEvents.put(EventType.AGATUS, registerProxy("agatus_event", NpcEventProxy.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..e0c6d6b06 --- /dev/null +++ b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/QuestGiverMediator.java @@ -0,0 +1,30 @@ +package com.github.manolo8.darkbot.core.objects.facades; + +import com.github.manolo8.darkbot.core.itf.Updatable; + +import lombok.Getter; + +import static com.github.manolo8.darkbot.Main.API; + +@Getter +public class QuestGiverMediator extends Updatable { + + private double positionX; + private double positionY; + private boolean active; + + @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.active = API.readBoolean(data + 0x49C); + } + +} From 487ca4d52266227e4a547f6c6566a15e5a755e1d Mon Sep 17 00:00:00 2001 From: dm94 Date: Tue, 19 Mar 2024 23:44:37 +0100 Subject: [PATCH 2/2] updated QuestGiverMediator --- .../darkbot/core/objects/facades/QuestGiverMediator.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 index e0c6d6b06..d209bf1ec 100644 --- 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 @@ -2,16 +2,17 @@ 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 { +public class QuestGiverMediator extends Updatable implements API.Singleton { private double positionX; private double positionY; - private boolean active; + private boolean focused; @Override public void update() { @@ -24,7 +25,7 @@ public void update() { this.positionX = API.readDouble(data + 0x2F8); this.positionY = API.readDouble(data + 0x300); - this.active = API.readBoolean(data + 0x49C); + this.focused = API.readBoolean(data + 0x49C); } }