diff --git a/AetherBags/Nodes/Color/ColorInputRow.cs b/AetherBags/Nodes/Color/ColorInputRow.cs index 16475e4..f0636ae 100644 --- a/AetherBags/Nodes/Color/ColorInputRow.cs +++ b/AetherBags/Nodes/Color/ColorInputRow.cs @@ -37,7 +37,7 @@ public class ColorInputRow : HorizontalListNode _colorPickerAddon?.OnColorPreviewed = color => { _colorPreview?.Color = color; - OnColorChange?.Invoke(color); + OnColorPreviewed?.Invoke(color); }; _colorPickerAddon?.OnColorCancelled = () => OnColorCanceled?.Invoke(initialColor); } diff --git a/AetherBags/Nodes/Configuration/Category/CategoryDefinitionConfigurationNode.cs b/AetherBags/Nodes/Configuration/Category/CategoryDefinitionConfigurationNode.cs index c90a04f..894b51e 100644 --- a/AetherBags/Nodes/Configuration/Category/CategoryDefinitionConfigurationNode.cs +++ b/AetherBags/Nodes/Configuration/Category/CategoryDefinitionConfigurationNode.cs @@ -243,9 +243,10 @@ public sealed class BasicSettingsSection : ConfigurationSection Size = new Vector2(300, 28), CurrentColor = new UserCategoryDefinition().Color, DefaultColor = new UserCategoryDefinition().Color, - OnColorConfirmed = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, - OnColorCanceled = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, - OnColorPreviewed = c => { CategoryDefinition.Color = c; OnValueChanged?.Invoke(); }, + OnColorConfirmed = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); }, + OnColorCanceled = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); }, + OnColorPreviewed = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); }, + OnColorChange = color => { CategoryDefinition.Color = color; OnValueChanged?.Invoke(); }, }; AddNode(_colorInput); @@ -256,9 +257,9 @@ public sealed class BasicSettingsSection : ConfigurationSection Min = 0, Max = 1000, Step = 1, - OnValueUpdate = val => + OnValueUpdate = value => { - CategoryDefinition.Priority = val; + CategoryDefinition.Priority = value; OnValueChanged?.Invoke(); }, }; diff --git a/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs b/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs index e709455..dfbcc67 100644 --- a/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs +++ b/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs @@ -1,3 +1,4 @@ +using System; using System.Numerics; using AetherBags.Configuration; using AetherBags.Nodes.Color; @@ -41,15 +42,17 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode AddTab(1); + var defaultColorHandler = CreateColorHandler(color => config.LimitColor = color); ColorInputRow defaultCurrencyColorNode = new ColorInputRow { Label = "Default Currency Color", Size = new Vector2(300, 24), CurrentColor = config.DefaultColor, DefaultColor = new CurrencySettings().DefaultColor, - OnColorConfirmed = ApplyColorChange, - OnColorChange = ApplyColorChange, - OnColorCanceled = ApplyColorChange, + OnColorConfirmed = defaultColorHandler, + OnColorChange = defaultColorHandler, + OnColorCanceled = defaultColorHandler, + OnColorPreviewed = defaultColorHandler, }; AddNode(defaultCurrencyColorNode); @@ -70,18 +73,17 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode AddTab(1); - + var cappedColorHandler = CreateColorHandler(color => config.LimitColor = color); ColorInputRow cappedCurrencyColorNode = new ColorInputRow { Label = "Weekly Cap Color", Size = new Vector2(300, 24), CurrentColor = config.CappedColor, DefaultColor = new CurrencySettings().CappedColor, - OnColorConfirmed = color => - { - config.CappedColor = color; - RefreshCurrency(); - }, + OnColorConfirmed = cappedColorHandler, + OnColorChange = cappedColorHandler, + OnColorCanceled = cappedColorHandler, + OnColorPreviewed = cappedColorHandler, }; AddNode(cappedCurrencyColorNode); @@ -104,28 +106,28 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode AddTab(1); + var limitColorHandler = CreateColorHandler(color => config.LimitColor = color); ColorInputRow limitCurrencyColorNode = new ColorInputRow { Label = "Max Capacity Color", Size = new Vector2(300, 24), CurrentColor = config.LimitColor, DefaultColor = new CurrencySettings().LimitColor, - OnColorConfirmed = color => - { - config.LimitColor = color; - RefreshCurrency(); - }, + OnColorConfirmed = limitColorHandler, + OnColorChange = limitColorHandler, + OnColorCanceled = limitColorHandler, + OnColorPreviewed = limitColorHandler, }; AddNode(limitCurrencyColorNode); return; - - void ApplyColorChange(Vector4 color) - { - config.DefaultColor = color; - RefreshCurrency(); - } } + private Action CreateColorHandler(Action setter) => newColor => + { + setter(newColor); + RefreshCurrency(); + }; + private void RefreshCurrency() => System.AddonInventoryWindow.ManualCurrencyRefresh(); } \ No newline at end of file