rewrite SliderWidget to be simpler and have much less fail

This commit is contained in:
Chris Forbes
2011-07-17 15:07:08 +12:00
parent fe6a99c993
commit 0efe82018a
6 changed files with 67 additions and 154 deletions

View File

@@ -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);

View File

@@ -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)

View File

@@ -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;