Fix currency colors

This commit is contained in:
Zeffuro
2026-01-11 18:17:33 +01:00
parent dfa4ec08b5
commit ad109210bb
2 changed files with 39 additions and 33 deletions
+37 -29
View File
@@ -16,41 +16,49 @@ public class ColorInputRow : HorizontalListNode
{ {
InitializeColorPicker(); InitializeColorPicker();
var initialColor = CurrentColor; _colorPreview = new ColorPreviewButtonNode { Size = new Vector2(28) };
_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);
_labelTextNode = new LabelTextNode _labelTextNode = new LabelTextNode
{ {
TextFlags = TextFlags.AutoAdjustNodeSize, TextFlags = TextFlags.AutoAdjustNodeSize,
Position = new Vector2(28, 0), Position = new Vector2(28, 0),
Height = 28, 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); _labelTextNode.AttachNode(this);
} }
@@ -42,7 +42,7 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
AddTab(1); AddTab(1);
var defaultColorHandler = CreateColorHandler(color => config.LimitColor = color); var defaultColorHandler = CreateColorHandler(color => config.DefaultColor = color);
ColorInputRow defaultCurrencyColorNode = new ColorInputRow ColorInputRow defaultCurrencyColorNode = new ColorInputRow
{ {
Label = "Default Currency Color", Label = "Default Currency Color",
@@ -73,7 +73,7 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
AddTab(1); AddTab(1);
var cappedColorHandler = CreateColorHandler(color => config.LimitColor = color); var cappedColorHandler = CreateColorHandler(color => config.CappedColor = color);
ColorInputRow cappedCurrencyColorNode = new ColorInputRow ColorInputRow cappedCurrencyColorNode = new ColorInputRow
{ {
Label = "Weekly Cap Color", Label = "Weekly Cap Color",
@@ -119,8 +119,6 @@ public sealed class CurrencyGeneralConfigurationNode : TabbedVerticalListNode
OnColorPreviewed = limitColorHandler, OnColorPreviewed = limitColorHandler,
}; };
AddNode(limitCurrencyColorNode); AddNode(limitCurrencyColorNode);
return;
} }
private Action<Vector4> CreateColorHandler(Action<Vector4> setter) => newColor => private Action<Vector4> CreateColorHandler(Action<Vector4> setter) => newColor =>