ILoadout interface
Read + apply the player’s saved in-game loadouts (class + gear + spec + modules). Applying drives the game’s own switch and surfaces the game’s result; it never bypasses game-side validation (combat lock, profession/weapon match).
public interface ILoadoutMembers
Section titled “Members”| name | description |
|---|---|
| CurrentIndex { get; } | Index of the currently-active loadout, or null if none/unknown. |
| IsAvailable { get; } | True once the game-side loadout API has been resolved and is callable. |
| LiveState { get; } | The local player’s LIVE class + talents (never from a saved plan), or null until the live read resolves in-world. Refreshed with the loadout data; a talent respec re-fires the refresh via the framework’s dirty-delta trigger, so re-read after SelfGearChanged. Same threading rule as GetState: never read from the SelfGearChanged handler itself (network thread) — flag and read on the game tick. The value read immediately after the event may still be pre-change; the refresh lands within about a second (cooldown-coalesced), which is fine for snapshot-at-archive use. |
| event LiveStateChanged | Raised on the game tick AFTER the framework re-read the local player’s LIVE build state and the re-read actually CHANGED what this service serves — equipped gear/module slots, class, talent stage/nodes, the equipped Battle Imagine pair, or the Deep-Slumber Psychoscope state (GetState). An identical re-read raises nothing. |
| event LoadoutsChanged | Raised when the saved-loadout list or the current selection changes. |
| ApplyAsync(…) | Triggers the game’s native switch to the loadout identified by index. |
| GetSlots() | The saved loadout slots, in the game’s dropdown order. Empty until IsAvailable. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Services