Fix color stuff

This commit is contained in:
Zeffuro
2026-01-11 17:23:24 +01:00
parent 50fec68a7d
commit 29fbd4de61
3 changed files with 29 additions and 26 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ public class ColorInputRow : HorizontalListNode
_colorPickerAddon?.OnColorPreviewed = color => _colorPickerAddon?.OnColorPreviewed = color =>
{ {
_colorPreview?.Color = color; _colorPreview?.Color = color;
OnColorChange?.Invoke(color); OnColorPreviewed?.Invoke(color);
}; };
_colorPickerAddon?.OnColorCancelled = () => OnColorCanceled?.Invoke(initialColor); _colorPickerAddon?.OnColorCancelled = () => OnColorCanceled?.Invoke(initialColor);
} }
@@ -243,9 +243,10 @@ public sealed class BasicSettingsSection : ConfigurationSection
Size = new Vector2(300, 28), Size = new Vector2(300, 28),
CurrentColor = new UserCategoryDefinition().Color, CurrentColor = new UserCategoryDefinition().Color,
DefaultColor = new UserCategoryDefinition().Color, DefaultColor = new UserCategoryDefinition().Color,
OnColorConfirmed = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, OnColorConfirmed = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); },
OnColorCanceled = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, OnColorCanceled = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); },
OnColorPreviewed = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, OnColorPreviewed = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); },
OnColorChange = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); },
}; };
AddNode(_colorInput); AddNode(_colorInput);
@@ -256,9 +257,9 @@ public sealed class BasicSettingsSection : ConfigurationSection
Min = 0, Min = 0,
Max = 1000, Max = 1000,
Step = 1, Step = 1,
OnValueUpdate = val => OnValueUpdate = value =>
{ {
CategoryDefinition.Priority = val; CategoryDefinition.Priority = value;
OnValueChanged?.Invoke(); OnValueChanged?.Invoke();
}, },
}; };
@@ -1,3 +1,4 @@
using System;
using System.Numerics; using System.Numerics;
using AetherBags.Configuration; using AetherBags.Configuration;
using AetherBags.Nodes.Color; using AetherBags.Nodes.Color;
@@ -41,15 +42,17 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
AddTab(1); AddTab(1);
var defaultColorHandler = CreateColorHandler(color => config.LimitColor = color);
ColorInputRow defaultCurrencyColorNode = new ColorInputRow ColorInputRow defaultCurrencyColorNode = new ColorInputRow
{ {
Label = "Default Currency Color", Label = "Default Currency Color",
Size = new Vector2(300, 24), Size = new Vector2(300, 24),
CurrentColor = config.DefaultColor, CurrentColor = config.DefaultColor,
DefaultColor = new CurrencySettings().DefaultColor, DefaultColor = new CurrencySettings().DefaultColor,
OnColorConfirmed = ApplyColorChange, OnColorConfirmed = defaultColorHandler,
OnColorChange = ApplyColorChange, OnColorChange = defaultColorHandler,
OnColorCanceled = ApplyColorChange, OnColorCanceled = defaultColorHandler,
OnColorPreviewed = defaultColorHandler,
}; };
AddNode(defaultCurrencyColorNode); AddNode(defaultCurrencyColorNode);
@@ -70,18 +73,17 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
AddTab(1); AddTab(1);
var cappedColorHandler = CreateColorHandler(color => config.LimitColor = color);
ColorInputRow cappedCurrencyColorNode = new ColorInputRow ColorInputRow cappedCurrencyColorNode = new ColorInputRow
{ {
Label = "Weekly Cap Color", Label = "Weekly Cap Color",
Size = new Vector2(300, 24), Size = new Vector2(300, 24),
CurrentColor = config.CappedColor, CurrentColor = config.CappedColor,
DefaultColor = new CurrencySettings().CappedColor, DefaultColor = new CurrencySettings().CappedColor,
OnColorConfirmed = color => OnColorConfirmed = cappedColorHandler,
{ OnColorChange = cappedColorHandler,
config.CappedColor = color; OnColorCanceled = cappedColorHandler,
RefreshCurrency(); OnColorPreviewed = cappedColorHandler,
},
}; };
AddNode(cappedCurrencyColorNode); AddNode(cappedCurrencyColorNode);
@@ -104,28 +106,28 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
AddTab(1); AddTab(1);
var limitColorHandler = CreateColorHandler(color => config.LimitColor = color);
ColorInputRow limitCurrencyColorNode = new ColorInputRow ColorInputRow limitCurrencyColorNode = new ColorInputRow
{ {
Label = "Max Capacity Color", Label = "Max Capacity Color",
Size = new Vector2(300, 24), Size = new Vector2(300, 24),
CurrentColor = config.LimitColor, CurrentColor = config.LimitColor,
DefaultColor = new CurrencySettings().LimitColor, DefaultColor = new CurrencySettings().LimitColor,
OnColorConfirmed = color => OnColorConfirmed = limitColorHandler,
{ OnColorChange = limitColorHandler,
config.LimitColor = color; OnColorCanceled = limitColorHandler,
RefreshCurrency(); OnColorPreviewed = limitColorHandler,
},
}; };
AddNode(limitCurrencyColorNode); AddNode(limitCurrencyColorNode);
return; return;
void ApplyColorChange(Vector4 color)
{
config.DefaultColor = color;
RefreshCurrency();
}
} }
private Action<Vector4> CreateColorHandler(Action<Vector4> setter) => newColor =>
{
setter(newColor);
RefreshCurrency();
};
private void RefreshCurrency() => System.AddonInventoryWindow.ManualCurrencyRefresh(); private void RefreshCurrency() => System.AddonInventoryWindow.ManualCurrencyRefresh();
} }