From ad109210bbd0f5821c4800293cc14f4fea34bbf6 Mon Sep 17 00:00:00 2001 From: Zeffuro Date: Sun, 11 Jan 2026 18:17:33 +0100 Subject: [PATCH] Fix currency colors --- AetherBags/Nodes/Color/ColorInputRow.cs | 66 +++++++++++-------- .../CurrencyGeneralConfigurationNode.cs | 6 +- 2 files changed, 39 insertions(+), 33 deletions(-) diff --git a/AetherBags/Nodes/Color/ColorInputRow.cs b/AetherBags/Nodes/Color/ColorInputRow.cs index f0636ae..16f2961 100644 --- a/AetherBags/Nodes/Color/ColorInputRow.cs +++ b/AetherBags/Nodes/Color/ColorInputRow.cs @@ -16,41 +16,49 @@ public class ColorInputRow : HorizontalListNode { InitializeColorPicker(); - var initialColor = CurrentColor; - - _colorPreview = new ColorPreviewButtonNode - { - Size = new Vector2(28), - Color = CurrentColor, - OnClick = () => - { - _colorPickerAddon?.InitialColor = CurrentColor; - _colorPickerAddon?.DefaultColor = DefaultColor; - _colorPickerAddon?.Toggle(); - _colorPickerAddon?.OnColorConfirmed = color => - { - CurrentColor = color; - _colorPreview?.Color = color; - initialColor = color; - OnColorConfirmed?.Invoke(color); - }; - _colorPickerAddon?.OnColorPreviewed = color => - { - _colorPreview?.Color = color; - OnColorPreviewed?.Invoke(color); - }; - _colorPickerAddon?.OnColorCancelled = () => OnColorCanceled?.Invoke(initialColor); - } - }; - _colorPreview.AttachNode(this); - + _colorPreview = new ColorPreviewButtonNode { Size = new Vector2(28) }; _labelTextNode = new LabelTextNode { TextFlags = TextFlags.AutoAdjustNodeSize, Position = new Vector2(28, 0), Height = 28, - String = Label ?? string.Empty, }; + + var node = _colorPreview; + + node.OnClick = () => + { + var snapshot = CurrentColor; + + if (_colorPickerAddon is not null) + { + _colorPickerAddon.InitialColor = snapshot; + _colorPickerAddon.DefaultColor = DefaultColor; + _colorPickerAddon.Toggle(); + + _colorPickerAddon.OnColorConfirmed = color => + { + CurrentColor = color; + node.Color = color; + OnColorConfirmed?.Invoke(color); + }; + + _colorPickerAddon.OnColorPreviewed = color => + { + node.Color = color; + OnColorPreviewed?.Invoke(color); + }; + + _colorPickerAddon.OnColorCancelled = () => + { + CurrentColor = snapshot; + node.Color = snapshot; + OnColorCanceled?.Invoke(snapshot); + }; + } + }; + + _colorPreview.AttachNode(this); _labelTextNode.AttachNode(this); } diff --git a/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs b/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs index dfbcc67..b1425a9 100644 --- a/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs +++ b/AetherBags/Nodes/Configuration/Currency/CurrencyGeneralConfigurationNode.cs @@ -42,7 +42,7 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode AddTab(1); - var defaultColorHandler = CreateColorHandler(color => config.LimitColor = color); + var defaultColorHandler = CreateColorHandler(color => config.DefaultColor = color); ColorInputRow defaultCurrencyColorNode = new ColorInputRow { Label = "Default Currency Color", @@ -73,7 +73,7 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode AddTab(1); - var cappedColorHandler = CreateColorHandler(color => config.LimitColor = color); + var cappedColorHandler = CreateColorHandler(color => config.CappedColor = color); ColorInputRow cappedCurrencyColorNode = new ColorInputRow { Label = "Weekly Cap Color", @@ -119,8 +119,6 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode OnColorPreviewed = limitColorHandler, }; AddNode(limitCurrencyColorNode); - - return; } private Action CreateColorHandler(Action setter) => newColor =>