Combo highlight config, tooltips, nameplates, hotbars fixes
- Combo highlight: configurable color, glow, line style (solid/dashed/dotted), thickness - Tooltips: font selection, scaling slider, improved wrap/cramping handling - Nameplates: custom quest icons with config, position smoothing fix for jitter - Hotbars: hide keybinds on empty slots, combo highlight within icon bounds - HudHelper: restore default nameplates on plugin disable Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+23
-3
@@ -55,9 +55,7 @@ namespace HSUI.Interface
|
||||
|
||||
Config.ValueChangeEvent -= ConfigValueChanged;
|
||||
|
||||
// Only restore defaults when already on framework thread. Skip RunOnFrameworkThread
|
||||
// during unload—it can deadlock. Restore is best-effort; game state may be torn down.
|
||||
if (Plugin.Framework.IsInFrameworkUpdateThread && Plugin.ObjectTable.LocalPlayer != null)
|
||||
void RestoreDefaults()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -72,6 +70,26 @@ namespace HSUI.Interface
|
||||
Plugin.Logger.Error($"Exception during HudHelper.Dispose restore: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
if (Plugin.Framework.IsInFrameworkUpdateThread && Plugin.ObjectTable.LocalPlayer != null)
|
||||
{
|
||||
RestoreDefaults();
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
Plugin.Framework.RunOnFrameworkThread(() =>
|
||||
{
|
||||
if (Plugin.ObjectTable.LocalPlayer != null)
|
||||
RestoreDefaults();
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Plugin.Logger.Error($"Exception scheduling HudHelper.Dispose restore: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Update()
|
||||
@@ -230,6 +248,8 @@ namespace HSUI.Interface
|
||||
if (enemyList?.Enabled == true)
|
||||
AddHashes("_EnemyList");
|
||||
|
||||
// Hide NamePlate when HSUI nameplates are enabled. We read icon IDs from the addon (still updated when hidden)
|
||||
// and draw our own quest icons (! ? above NPCs) via NPC nameplate IconConfig.
|
||||
var nameplatesConfig = ConfigurationManager.Instance?.GetConfigObject<NameplatesGeneralConfig>();
|
||||
if (nameplatesConfig?.Enabled == true)
|
||||
AddHashes("NamePlate");
|
||||
|
||||
Reference in New Issue
Block a user