rewrite SliderWidget to be simpler and have much less fail
This commit is contained in:
@@ -33,9 +33,9 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
|
||||
Action sliderChanged = () =>
|
||||
{
|
||||
ramp = new ColorRamp((byte)(255*hueSlider.GetOffset()),
|
||||
(byte)(255*satSlider.GetOffset()),
|
||||
(byte)(255*lumSlider.GetOffset()),
|
||||
ramp = new ColorRamp((byte)(255*hueSlider.Value),
|
||||
(byte)(255*satSlider.Value),
|
||||
(byte)(255*lumSlider.Value),
|
||||
10);
|
||||
onChange(ramp);
|
||||
};
|
||||
@@ -46,9 +46,9 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
|
||||
Action updateSliders = () =>
|
||||
{
|
||||
hueSlider.SetOffset(ramp.H / 255f);
|
||||
satSlider.SetOffset(ramp.S / 255f);
|
||||
lumSlider.SetOffset(ramp.L / 255f);
|
||||
hueSlider.Value = ramp.H / 255f;
|
||||
satSlider.Value = ramp.S / 255f;
|
||||
lumSlider.Value = ramp.L / 255f;
|
||||
};
|
||||
|
||||
panel.GetWidget<ButtonWidget>("SAVE_BUTTON").OnClick = () => onSelect(ramp);
|
||||
|
||||
@@ -104,9 +104,8 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
panel.GetWidget<LabelWidget>("TITLE_LABEL").GetText = () => (currentSong == null) ? "" : currentSong.Title;
|
||||
|
||||
var musicSlider = panel.GetWidget<SliderWidget>("MUSIC_SLIDER");
|
||||
musicSlider.OnChange += x => { Sound.MusicVolume = x; };
|
||||
musicSlider.GetOffset = () => { return Sound.MusicVolume; };
|
||||
musicSlider.SetOffset(Sound.MusicVolume);
|
||||
musicSlider.OnChange += x => Sound.MusicVolume = x;
|
||||
musicSlider.Value = Sound.MusicVolume;
|
||||
}
|
||||
|
||||
void BuildMusicTable(Widget list)
|
||||
|
||||
@@ -96,13 +96,11 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
// Audio
|
||||
var soundSlider = generalPane.GetWidget<SliderWidget>("SOUND_SLIDER");
|
||||
soundSlider.OnChange += x => { soundSettings.SoundVolume = x; Sound.SoundVolume = x;};
|
||||
soundSlider.GetOffset = () => { return soundSettings.SoundVolume; };
|
||||
soundSlider.SetOffset(soundSettings.SoundVolume);
|
||||
soundSlider.Value = soundSettings.SoundVolume;
|
||||
|
||||
var musicSlider = generalPane.GetWidget<SliderWidget>("MUSIC_SLIDER");
|
||||
musicSlider.OnChange += x => { soundSettings.MusicVolume = x; Sound.MusicVolume = x; };
|
||||
musicSlider.GetOffset = () => { return soundSettings.MusicVolume; };
|
||||
musicSlider.SetOffset(soundSettings.MusicVolume);
|
||||
musicSlider.Value = soundSettings.MusicVolume;
|
||||
|
||||
var shellmapMusicCheckbox = generalPane.GetWidget<CheckboxWidget>("SHELLMAP_MUSIC");
|
||||
shellmapMusicCheckbox.IsChecked = () => gameSettings.ShellmapMusic;
|
||||
@@ -120,8 +118,8 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
inputPane.GetWidget<CheckboxWidget>("CLASSICORDERS_CHECKBOX").IsDisabled = () => true;
|
||||
|
||||
var scrollSlider = inputPane.GetWidget<SliderWidget>("SCROLLSPEED_SLIDER");
|
||||
scrollSlider.Value = gameSettings.ViewportEdgeScrollStep;
|
||||
scrollSlider.OnChange += x => gameSettings.ViewportEdgeScrollStep = x;
|
||||
scrollSlider.SetOffset(gameSettings.ViewportEdgeScrollStep);
|
||||
|
||||
var edgescrollCheckbox = inputPane.GetWidget<CheckboxWidget>("EDGESCROLL_CHECKBOX");
|
||||
edgescrollCheckbox.IsChecked = () => gameSettings.ViewportEdgeScroll;
|
||||
|
||||
Reference in New Issue
Block a user