1.0.8.5: Fix other HSUI elements disappearing on hotbar hover (child window overlay)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -253,7 +253,7 @@ namespace HSUI.Interface.GeneralElements
|
||||
});
|
||||
|
||||
// Overlay at HIGHEST so it captures input above the bar; required for icon swap.
|
||||
// Use unique ID per hotbar to avoid any cross-bar conflicts (bar 2–10 had input capture issues).
|
||||
// Draw as a child of HSUI_HUD so hovering does not create a separate toplevel window that hides other HSUI elements.
|
||||
AddDrawAction(StrataLevel.HIGHEST, () =>
|
||||
{
|
||||
var slots = ActionBarsManager.Instance.GetSlotData(Config.HotbarIndex, Config.SlotCount);
|
||||
@@ -262,13 +262,11 @@ namespace HSUI.Interface.GeneralElements
|
||||
| ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoBringToFrontOnFocus
|
||||
| ImGuiWindowFlags.NoNav;
|
||||
|
||||
ImGuiHelpers.ForceNextWindowMainViewport();
|
||||
ImGui.SetNextWindowPos(topLeft);
|
||||
ImGui.SetNextWindowSize(barSize);
|
||||
string overlayId = $"HSUI_Hotbar{Config.HotbarIndex}_input";
|
||||
if (!ImGui.Begin(overlayId, flags))
|
||||
ImGui.SetCursorScreenPos(topLeft);
|
||||
if (!ImGui.BeginChild(overlayId, barSize, false, flags))
|
||||
{
|
||||
ImGui.End();
|
||||
ImGui.EndChild();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -394,7 +392,7 @@ namespace HSUI.Interface.GeneralElements
|
||||
_lastLoggedPickupSlotId = -1;
|
||||
}
|
||||
|
||||
ImGui.End();
|
||||
ImGui.EndChild();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user