feat: Controller hotbars with cross layout, separate storage, and sync with game
- Add controller hotbars: 8 cross bars (L2/R2 style), separate from normal hotbars 1-8 - Controller bar slot data stored in config (not game StandardHotbars) so layouts can differ per mode - Drag-and-drop on controller bars: from game, shift+drag rearrange, release outside to clear - Independent controller bar keybinds with modifier+trigger combinations (e.g. L2+South) - Optional 'Sync bar mode with game client': follow Character Config Mouse/Gamepad toggle (PadMode) - Clone/copy actions: normal hotbars ↔ controller bars - Restore controller bar layout button; deploy to devPlugins on Release build Made-with: Cursor
This commit is contained in:
@@ -43,6 +43,8 @@ namespace HSUI
|
||||
public static IAddonLifecycle AddonLifecycle { get; private set; } = null!;
|
||||
public static IChatGui Chat { get; private set; } = null!;
|
||||
public static ISeStringEvaluator SeStringEvaluator { get; private set; } = null!;
|
||||
public static IKeyState? KeyState { get; private set; }
|
||||
public static IGamepadState? GamepadState { get; private set; }
|
||||
|
||||
public static ISharedImmediateTexture? BannerTexture;
|
||||
|
||||
@@ -78,7 +80,9 @@ namespace HSUI
|
||||
ITextureProvider textureProvider,
|
||||
IAddonLifecycle addonLifecycle,
|
||||
IChatGui chat,
|
||||
ISeStringEvaluator seStringEvaluator)
|
||||
ISeStringEvaluator seStringEvaluator,
|
||||
IGamepadState? gamepadState = null,
|
||||
IKeyState? keyState = null)
|
||||
{
|
||||
BuddyList = buddyList;
|
||||
ClientState = clientState;
|
||||
@@ -100,6 +104,8 @@ namespace HSUI
|
||||
AddonLifecycle = addonLifecycle;
|
||||
Chat = chat;
|
||||
SeStringEvaluator = seStringEvaluator;
|
||||
KeyState = keyState;
|
||||
GamepadState = gamepadState;
|
||||
|
||||
if (pluginInterface.AssemblyLocation.DirectoryName != null)
|
||||
{
|
||||
@@ -134,6 +140,7 @@ namespace HSUI
|
||||
PartyCooldownsManager.Initialize();
|
||||
PullTimerHelper.Initialize();
|
||||
ActionBarsManager.Initialize();
|
||||
ControllerHotbarHelper.SetGamepadState(GamepadState);
|
||||
TextTagsHelper.Initialize();
|
||||
TooltipsHelper.Initialize();
|
||||
ActionChatLinkHelper.Initialize();
|
||||
|
||||
Reference in New Issue
Block a user