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..c17ceccc0 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 @@ -5,6 +5,7 @@ import com.github.manolo8.darkbot.core.itf.Updatable; import com.github.manolo8.darkbot.core.objects.facades.AssemblyMediator; import com.github.manolo8.darkbot.core.objects.facades.AstralGateProxy; +import com.github.manolo8.darkbot.core.objects.facades.AstralGateSelectionProxy; import com.github.manolo8.darkbot.core.objects.facades.BoosterProxy; import com.github.manolo8.darkbot.core.objects.facades.ChatProxy; import com.github.manolo8.darkbot.core.objects.facades.ChrominProxy; @@ -58,6 +59,7 @@ public class FacadeManager implements Manager, eu.darkbot.api.API.Singleton, Npc public final EternalBlacklightProxy blacklightGate; public final ChrominProxy chrominEvent; public final AstralGateProxy astralGate; + public final AstralGateSelectionProxy astralGateSelection; public final HighlightProxy highlight; public final SpaceMapWindowProxy spaceMapWindowProxy; public final GauntletPlutusProxy plutus; @@ -84,6 +86,7 @@ public FacadeManager(PluginAPI pluginApi) { this.blacklightGate = registerProxy("eternal_blacklight", EternalBlacklightProxy.class); this.chrominEvent = registerProxy("chrominEvent", ChrominProxy.class); this.astralGate = registerProxy("rogue_lite", AstralGateProxy.class); + this.astralGateSelection = registerProxy("rogue_lite_selection", AstralGateSelectionProxy.class); this.highlight = registerProxy("HighlightProxy", HighlightProxy.class); this.spaceMapWindowProxy = registerProxy("spacemap", SpaceMapWindowProxy.class); this.plutus = registerProxy("plutus", GauntletPlutusProxy.class); diff --git a/src/main/java/com/github/manolo8/darkbot/core/objects/facades/AstralGateSelectionProxy.java b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/AstralGateSelectionProxy.java new file mode 100644 index 000000000..74a82b016 --- /dev/null +++ b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/AstralGateSelectionProxy.java @@ -0,0 +1,55 @@ +package com.github.manolo8.darkbot.core.objects.facades; + +import com.github.manolo8.darkbot.core.itf.Updatable; +import com.github.manolo8.darkbot.core.objects.swf.FlashList; + +import lombok.Getter; +import lombok.ToString; + +public class AstralGateSelectionProxy extends Updatable { + + @Getter + private final FlashList astralShips = FlashList.ofVector(AstralShip::new); + + @Override + public void update() { + if (address == 0) { + return; + } + + astralShips.update(readAtom(0x30, 0x48)); + } + + + @Getter + @ToString + public static class AstralShip extends Auto { + private int hp; + private int shield; + private int speed; + private boolean selected; + private String roleType; + private String shipId; + + @Override + public void update(long address) { + super.update(address); + + this.hp = readInt(0x20); + this.shield = readInt(0x24); + this.speed = readInt(0x2c); + this.roleType = readString(0x38); + + this.shipId = readString(0x40, 0x48); + } + + @Override + public void update() { + if (address == 0) { + return; + } + + this.selected = readBoolean(0x30, 0x20); + } + } +} \ No newline at end of file