1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-16 00:22:58 +08:00

More variable improvements

This commit is contained in:
Dean Herbert 2023-05-04 11:10:05 +09:00
parent 0a584f0652
commit b7abab6d8a

View File

@ -24,8 +24,8 @@ namespace osu.Game.Overlays.Mods
private readonly LabelledTextBox nameTextBox; private readonly LabelledTextBox nameTextBox;
private readonly LabelledTextBox descriptionTextBox; private readonly LabelledTextBox descriptionTextBox;
private readonly ShearedButton useCurrentModButton; private readonly ShearedButton useCurrentModsButton;
private readonly ShearedButton editButton; private readonly ShearedButton saveButton;
private readonly FillFlowContainer scrollContent; private readonly FillFlowContainer scrollContent;
private readonly ModPreset preset; private readonly ModPreset preset;
@ -90,19 +90,19 @@ namespace osu.Game.Overlays.Mods
Spacing = new Vector2(7), Spacing = new Vector2(7),
Children = new Drawable[] Children = new Drawable[]
{ {
useCurrentModButton = new ShearedButton useCurrentModsButton = new ShearedButton
{ {
Anchor = Anchor.TopCentre, Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre, Origin = Anchor.TopCentre,
Text = "Use Current Mods", Text = "Use Current Mods",
Action = saveCurrentMod Action = useCurrentMods
}, },
editButton = new ShearedButton saveButton = new ShearedButton
{ {
Anchor = Anchor.TopCentre, Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre, Origin = Anchor.TopCentre,
Text = Resources.Localisation.Web.CommonStrings.ButtonsSave, Text = Resources.Localisation.Web.CommonStrings.ButtonsSave,
Action = editPreset Action = save
}, },
} }
} }
@ -119,23 +119,23 @@ namespace osu.Game.Overlays.Mods
nameTextBox.Current.Value = preset.Name; nameTextBox.Current.Value = preset.Name;
descriptionTextBox.Current.Value = preset.Description; descriptionTextBox.Current.Value = preset.Description;
editButton.DarkerColour = colours.Orange1; saveButton.DarkerColour = colours.Orange1;
editButton.LighterColour = colours.Orange0; saveButton.LighterColour = colours.Orange0;
editButton.TextColour = colourProvider.Background6; saveButton.TextColour = colourProvider.Background6;
useCurrentModButton.DarkerColour = colours.Blue1; useCurrentModsButton.DarkerColour = colours.Blue1;
useCurrentModButton.LighterColour = colours.Blue0; useCurrentModsButton.LighterColour = colours.Blue0;
useCurrentModButton.TextColour = colourProvider.Background6; useCurrentModsButton.TextColour = colourProvider.Background6;
selectedMods.BindValueChanged(_ => updateActiveState(), true); selectedMods.BindValueChanged(_ => updateActiveState(), true);
nameTextBox.Current.BindValueChanged(s => nameTextBox.Current.BindValueChanged(s =>
{ {
editButton.Enabled.Value = !string.IsNullOrWhiteSpace(s.NewValue); saveButton.Enabled.Value = !string.IsNullOrWhiteSpace(s.NewValue);
}, true); }, true);
} }
private void saveCurrentMod() private void useCurrentMods()
{ {
newMods = selectedMods.Value.ToHashSet(); newMods = selectedMods.Value.ToHashSet();
scrollContent.Clear(); scrollContent.Clear();
@ -145,7 +145,7 @@ namespace osu.Game.Overlays.Mods
private void updateActiveState() private void updateActiveState()
{ {
scrollContent.ChildrenEnumerable = preset.Mods.Select(mod => new ModPresetRow(mod)); scrollContent.ChildrenEnumerable = preset.Mods.Select(mod => new ModPresetRow(mod));
useCurrentModButton.Enabled.Value = checkSelectedModsDiffersFromSaved(); useCurrentModsButton.Enabled.Value = checkSelectedModsDiffersFromSaved();
} }
private bool checkSelectedModsDiffersFromSaved() private bool checkSelectedModsDiffersFromSaved()
@ -166,7 +166,7 @@ namespace osu.Game.Overlays.Mods
ScheduleAfterChildren(() => GetContainingInputManager().ChangeFocus(nameTextBox)); ScheduleAfterChildren(() => GetContainingInputManager().ChangeFocus(nameTextBox));
} }
private void editPreset() private void save()
{ {
button.Preset.PerformWrite(s => button.Preset.PerformWrite(s =>
{ {