private void PopulateModes(ControlBase parent) { var background = GwenHelper.CreateHeaderPanel(parent, "Background Color"); GwenHelper.AddCheckbox(background, "Night Mode", Settings.NightMode, (o, e) => { Settings.NightMode = ((Checkbox)o).IsChecked; Settings.Save(); }); var whitebg = GwenHelper.AddCheckbox(background, "Pure White Background", Settings.WhiteBG, (o, e) => { Settings.WhiteBG = ((Checkbox)o).IsChecked; Settings.Save(); }); var panelgeneral = GwenHelper.CreateHeaderPanel(parent, "General"); var superzoom = GwenHelper.AddCheckbox(panelgeneral, "Superzoom", Settings.SuperZoom, (o, e) => { Settings.SuperZoom = ((Checkbox)o).IsChecked; Settings.Save(); }); ComboBox scroll = GwenHelper.CreateLabeledCombobox(panelgeneral, "Scroll Sensitivity:"); scroll.Margin = new Margin(0, 0, 0, 0); scroll.Dock = Dock.Bottom; scroll.AddItem("0.25x").Name = "0.25"; scroll.AddItem("0.5x").Name = "0.5"; scroll.AddItem("0.75x").Name = "0.75"; scroll.AddItem("1x").Name = "1"; scroll.AddItem("2x").Name = "2"; scroll.AddItem("3x").Name = "3"; scroll.SelectByName("1");//default if user setting fails. scroll.SelectByName(Settings.ScrollSensitivity.ToString(Program.Culture)); scroll.ItemSelected += (o, e) => { if (e.SelectedItem != null) { Settings.ScrollSensitivity = float.Parse(e.SelectedItem.Name, Program.Culture); Settings.Save(); } }; superzoom.Tooltip = "Allows the user to zoom in\nnearly 10x more than usual."; var invisibleRider = GwenHelper.AddCheckbox(panelgeneral, "Invisible Rider", Settings.InvisibleRider, (o, e) => { Settings.InvisibleRider = ((Checkbox)o).IsChecked; Settings.Save(); }); }
private void Setup() { ControlBase top = new ControlBase(this) { Dock = Dock.Top, AutoSizeToContents = true, }; ControlBase panel = new ControlBase(this) { Margin = new Margin(0, 0, 0, 0), Dock = Dock.Fill, AutoSizeToContents = true }; ControlBase bottom = new ControlBase(this) { Dock = Dock.Bottom, AutoSizeToContents = true, }; GeneratorOptions = new Panel(panel) { Dock = Dock.Fill }; Button generate = new Button(bottom) { Dock = Dock.Left, Margin = new Margin(0, 2, 0, 0), Text = "Generate" }; generate.Clicked += (o, e) => { Render_Final(); GeneratePressed = true; Close(); }; PopulateCircle(); Populate10pc(); GeneratorTypeBox = GwenHelper.CreateLabeledCombobox(top, "Generator Type:"); GeneratorTypeBox.Dock = Dock.Top; var tenpc = GeneratorTypeBox.AddItem("10-Point Cannon", "", GeneratorType.TenPC); tenpc.CheckChanged += (o, e) => { GeneratorOptions.Children.Clear(); TenPCOptions.Parent = GeneratorOptions; CurrentGenerator = GeneratorType.TenPC; }; var circle = GeneratorTypeBox.AddItem("Circle", "", GeneratorType.Circle); circle.CheckChanged += (o, e) => { GeneratorOptions.Children.Clear(); CircleGenOptions.Parent = GeneratorOptions; CurrentGenerator = GeneratorType.Circle; }; GeneratorOptions.Children.Clear(); switch (CurrentGenerator) { default: GeneratorTypeBox.SelectedItem = circle; CircleGenOptions.Parent = GeneratorOptions; break; case GeneratorType.Circle: GeneratorTypeBox.SelectedItem = circle; CircleGenOptions.Parent = GeneratorOptions; break; case GeneratorType.TenPC: GeneratorTypeBox.SelectedItem = tenpc; TenPCOptions.Parent = GeneratorOptions; break; } Render_Preview(); }
private void PopulateDiscordSettings(ControlBase parent) { var discordHeader = GwenHelper.CreateHeaderPanel(parent, "Discord Activity Settings"); var showid = GwenHelper.AddCheckbox(discordHeader, "Enable Discord Activity (Needs Restart to Disable)", Settings.discordActivityEnabled, (o, e) => { Settings.discordActivityEnabled = ((Checkbox)o).IsChecked; Settings.Save(); }); ComboBox activity1 = GwenHelper.CreateLabeledCombobox(discordHeader, "Line 1 Text 1:"); ComboBox activity2 = GwenHelper.CreateLabeledCombobox(discordHeader, "Line 1 Text 2:"); ComboBox activity3 = GwenHelper.CreateLabeledCombobox(discordHeader, "Line 2 Text 1:"); ComboBox activity4 = GwenHelper.CreateLabeledCombobox(discordHeader, "Line 2 Text 2:"); ComboBox[] boxArr = { activity1, activity2, activity3, activity4 }; for (int i = 0; i < 4; i++) { boxArr[i].AddItem("None", "none", "none"); boxArr[i].AddItem("Selected Tool", "toolText", "toolText"); boxArr[i].AddItem("Number of Unsaved Changes", "unsavedChangesText", "unsavedChangesText"); boxArr[i].AddItem("Track Name", "trackText", "trackText"); boxArr[i].AddItem("Amount of Lines", "lineText", "lineText"); boxArr[i].AddItem("Version", "versionText", "versionText"); } activity1.SelectByUserData(Settings.discordActivity1); activity2.SelectByUserData(Settings.discordActivity2); activity3.SelectByUserData(Settings.discordActivity3); activity4.SelectByUserData(Settings.discordActivity4); activity1.ItemSelected += (o, e) => { Settings.discordActivity1 = (String)e.SelectedItem.UserData;; Settings.Save(); }; activity2.ItemSelected += (o, e) => { Settings.discordActivity2 = (String)e.SelectedItem.UserData;; Settings.Save(); }; activity3.ItemSelected += (o, e) => { Settings.discordActivity3 = (String)e.SelectedItem.UserData;; Settings.Save(); }; activity4.ItemSelected += (o, e) => { Settings.discordActivity4 = (String)e.SelectedItem.UserData;; Settings.Save(); }; ComboBox largeImageKey = GwenHelper.CreateLabeledCombobox(discordHeader, "Image:"); largeImageKey.AddItem("LRTran App Icon", "lrl", "lrl"); largeImageKey.AddItem(":boshbless:", "bosh_pray", "bosh_pray"); largeImageKey.SelectByUserData(Settings.largeImageKey); largeImageKey.ItemSelected += (o, e) => { Settings.largeImageKey = (String)e.SelectedItem.UserData;; Settings.Save(); }; }
private void PopulateRiderSettings(ControlBase parent) { var scarfSettingPanel = GwenHelper.CreateHeaderPanel(parent, "Scarf Settings"); var riderSettingPanel = GwenHelper.CreateHeaderPanel(parent, "Rider Settings"); ComboBox scarfCombobox = GwenHelper.CreateLabeledCombobox(scarfSettingPanel, "Selected Scarf:"); scarfCombobox.AddItem("Default", "*default*", "*default*"); string[] scarfPaths = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\LRA\\Scarves"); for (int i = 0; i < scarfPaths.Length; i++) { string scarfNames = Path.GetFileName(scarfPaths[i]); scarfCombobox.AddItem(scarfNames, scarfNames, scarfNames); } scarfCombobox.ItemSelected += (o, e) => { Settings.SelectedScarf = (String)e.SelectedItem.UserData; Debug.WriteLine("Selected Scarf: \"" + Settings.SelectedScarf + "\""); Settings.Save(); }; var scarfSegments = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.ScarfSegments, }; scarfSegments.ValueChanged += (o, e) => { Settings.ScarfSegments = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(scarfSettingPanel, "Scarf Segments (Needs Restart)", scarfSegments); var multiScarfAmount = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.multiScarfAmount, }; multiScarfAmount.ValueChanged += (o, e) => { Settings.multiScarfAmount = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(scarfSettingPanel, "Multi-Scarf Amount (Needs Restart)", multiScarfAmount); var multiScarfSegments = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.multiScarfSegments, }; multiScarfSegments.ValueChanged += (o, e) => { Settings.multiScarfSegments = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(scarfSettingPanel, "Multi-Scarf Segments (Needs Restart)", multiScarfSegments); var showid = GwenHelper.AddCheckbox(scarfSettingPanel, "Apply Custom Scarf to Rider png", Settings.customScarfOnPng, (o, e) => { Settings.customScarfOnPng = ((Checkbox)o).IsChecked; Settings.Save(); }); ComboBox boshSkinCombobox = GwenHelper.CreateLabeledCombobox(riderSettingPanel, "Selected Rider:"); boshSkinCombobox.AddItem("Default", "*default*", "*default*"); string[] riderPaths = Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/LRA/Riders"); for (int i = 0; i < riderPaths.Length; i++) { String riderNames = Path.GetFileName(riderPaths[i]); boshSkinCombobox.AddItem(riderNames, riderNames, riderNames); } boshSkinCombobox.ItemSelected += (o, e) => { Settings.SelectedBoshSkin = (String)e.SelectedItem.UserData;; Debug.WriteLine("Selected rider Skin: \"" + Settings.SelectedBoshSkin + "\""); Settings.Save(); }; scarfCombobox.SelectByUserData(Settings.SelectedScarf); boshSkinCombobox.SelectByUserData(Settings.SelectedBoshSkin); }
private void PopulateOther(ControlBase parent) { var updates = GwenHelper.CreateHeaderPanel(parent, "Updates"); var showid = GwenHelper.AddCheckbox(updates, "Check For Updates", Settings.CheckForUpdates, (o, e) => { Settings.CheckForUpdates = ((Checkbox)o).IsChecked; Settings.Save(); }); var showChangelog = GwenHelper.AddCheckbox(updates, "Show LRTran Changelog", Settings.showChangelog, (o, e) => { Settings.showChangelog = ((Checkbox)o).IsChecked; Settings.Save(); }); var mainWindowSettings = GwenHelper.CreateHeaderPanel(parent, "Window Launch Size"); var mainWindowWidth = new Spinner(mainWindowSettings) { Min = 1, Max = int.MaxValue - 1, Value = Settings.mainWindowWidth, }; mainWindowWidth.ValueChanged += (o, e) => { Settings.mainWindowWidth = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(mainWindowSettings, "Main Window Width (Current: " + (Program.GetWindowWidth()) + ")", mainWindowWidth); var mainWindowHeight = new Spinner(mainWindowSettings) { Min = 1, Max = int.MaxValue - 1, Value = Settings.mainWindowHeight, }; mainWindowHeight.ValueChanged += (o, e) => { Settings.mainWindowHeight = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(mainWindowSettings, "Main Window Height (Current: " + (Program.GetWindowHeight()) + ")", mainWindowHeight); var saveSettings = GwenHelper.CreateHeaderPanel(parent, "Saves"); var autosaveMinutes = new Spinner(saveSettings) { Min = 1, Max = int.MaxValue - 1, Value = Settings.autosaveMinutes, }; autosaveMinutes.ValueChanged += (o, e) => { Settings.autosaveMinutes = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(saveSettings, "Minutes between autosaves", autosaveMinutes); var autosaveChanges = new Spinner(saveSettings) { Min = 1, Max = int.MaxValue - 1, Value = Settings.autosaveChanges, }; autosaveChanges.ValueChanged += (o, e) => { Settings.autosaveChanges = (int)((Spinner)o).Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(saveSettings, "Min changes to start autosaving", autosaveChanges); ComboBox defaultSaveType = GwenHelper.CreateLabeledCombobox(saveSettings, "Default Save As Format:"); defaultSaveType.AddItem(".trk", "", ".trk"); defaultSaveType.AddItem(".json", "", ".json"); defaultSaveType.AddItem(".sol", "", ".sol"); defaultSaveType.ItemSelected += (o, e) => { Settings.DefaultSaveFormat = (String)e.SelectedItem.UserData; Settings.Save(); }; ComboBox defaultQuicksaveType = GwenHelper.CreateLabeledCombobox(saveSettings, "Default Quicksave Format:"); defaultQuicksaveType.AddItem(".trk", "", ".trk"); defaultQuicksaveType.AddItem(".json", "", ".json"); defaultQuicksaveType.AddItem(".sol", "", ".sol"); defaultQuicksaveType.ItemSelected += (o, e) => { Settings.DefaultQuicksaveFormat = (String)e.SelectedItem.UserData; Settings.Save(); }; ComboBox defaultAutosaveType = GwenHelper.CreateLabeledCombobox(saveSettings, "Default Autosave Format:"); defaultAutosaveType.AddItem(".trk", "", ".trk"); defaultAutosaveType.AddItem(".json", "", ".json"); defaultAutosaveType.AddItem(".sol", "", ".sol"); defaultAutosaveType.SelectByUserData(Settings.DefaultAutosaveFormat); defaultAutosaveType.ItemSelected += (o, e) => { Settings.DefaultAutosaveFormat = (String)e.SelectedItem.UserData; Settings.Save(); }; ComboBox defaultCrashBackupType = GwenHelper.CreateLabeledCombobox(saveSettings, "Default Crash Backup Format:"); defaultCrashBackupType.AddItem(".trk", "", ".trk"); defaultCrashBackupType.AddItem(".json", "", ".json"); defaultCrashBackupType.AddItem(".sol", "", ".sol"); defaultCrashBackupType.SelectByUserData(Settings.DefaultCrashBackupFormat); defaultCrashBackupType.ItemSelected += (o, e) => { Settings.DefaultCrashBackupFormat = (String)e.SelectedItem.UserData; Settings.Save(); }; defaultSaveType.SelectByUserData(Settings.DefaultSaveFormat); defaultQuicksaveType.SelectByUserData(Settings.DefaultQuicksaveFormat); defaultAutosaveType.SelectByUserData(Settings.DefaultAutosaveFormat); defaultAutosaveType.SelectByUserData(Settings.DefaultCrashBackupFormat); }
private void PopulatePlayback(ControlBase parent) { var playbackzoom = GwenHelper.CreateHeaderPanel(parent, "Playback Zoom"); RadioButtonGroup pbzoom = new RadioButtonGroup(playbackzoom) { Dock = Dock.Left, ShouldDrawBackground = false, }; pbzoom.AddOption("Default Zoom"); pbzoom.AddOption("Current Zoom"); pbzoom.AddOption("Specific Zoom"); Spinner playbackspinner = new Spinner(pbzoom) { Dock = Dock.Bottom, Max = 24, Min = 1, }; pbzoom.SelectionChanged += (o, e) => { Settings.PlaybackZoomType = ((RadioButtonGroup)o).SelectedIndex; Settings.Save(); playbackspinner.IsHidden = (((RadioButtonGroup)o).SelectedLabel != "Specific Zoom"); }; playbackspinner.ValueChanged += (o, e) => { Settings.PlaybackZoomValue = (float)((Spinner)o).Value; Settings.Save(); }; pbzoom.SetSelection(Settings.PlaybackZoomType); playbackspinner.Value = Settings.PlaybackZoomValue; var playbackmode = GwenHelper.CreateHeaderPanel(parent, "Playback Color"); GwenHelper.AddCheckbox(playbackmode, "Color Playback", Settings.ColorPlayback, (o, e) => { Settings.ColorPlayback = ((Checkbox)o).IsChecked; Settings.Save(); }); var preview = GwenHelper.AddCheckbox(playbackmode, "Preview Mode", Settings.PreviewMode, (o, e) => { Settings.PreviewMode = ((Checkbox)o).IsChecked; Settings.Save(); }); var recording = GwenHelper.AddCheckbox(playbackmode, "Recording Mode", Settings.Local.RecordingMode, (o, e) => { Settings.Local.RecordingMode = ((Checkbox)o).IsChecked; }); var framerate = GwenHelper.CreateHeaderPanel(parent, "Frame Control"); var smooth = GwenHelper.AddCheckbox(framerate, "Smooth Playback", Settings.SmoothPlayback, (o, e) => { Settings.SmoothPlayback = ((Checkbox)o).IsChecked; Settings.Save(); }); ComboBox pbrate = GwenHelper.CreateLabeledCombobox(framerate, "Playback Rate:"); for (var i = 0; i < Constants.MotionArray.Length; i++) { var f = (Constants.MotionArray[i] / (float)Constants.PhysicsRate); pbrate.AddItem(f + "x", f.ToString(CultureInfo.InvariantCulture), f); } pbrate.SelectByName(Settings.DefaultPlayback.ToString(CultureInfo.InvariantCulture)); pbrate.ItemSelected += (o, e) => { Settings.DefaultPlayback = (float)e.SelectedItem.UserData; Settings.Save(); }; var cbslowmo = GwenHelper.CreateLabeledCombobox(framerate, "Slowmo FPS:"); var fpsarray = new[] { 1, 2, 5, 10, 20 }; for (var i = 0; i < fpsarray.Length; i++) { cbslowmo.AddItem(fpsarray[i].ToString(), fpsarray[i].ToString(CultureInfo.InvariantCulture), fpsarray[i]); } cbslowmo.SelectByName(Settings.SlowmoSpeed.ToString(CultureInfo.InvariantCulture)); cbslowmo.ItemSelected += (o, e) => { Settings.SlowmoSpeed = (int)e.SelectedItem.UserData; Settings.Save(); }; smooth.Tooltip = "Interpolates frames from the base\nphysics rate of 40 frames/second\nup to 60 frames/second"; }
private void SetupRight() { SetupZoom(); SetupCameraOffset(); ControlBase rightcontainer = new ControlBase(this) { Margin = new Margin(0, 0, 0, 0), Dock = Dock.Right, AutoSizeToContents = true }; ControlBase buttoncontainer = new ControlBase(rightcontainer) { Margin = new Margin(0, 0, 0, 0), Dock = Dock.Bottom, AutoSizeToContents = true, Children = { new Button(null) { Text = "Cancel", Name = "btncancel", Dock = Dock.Right, Margin = new Margin(5, 0, 0, 0), AutoSizeToContents = false, Width = 60, }, new Button(null) { Text = "Save", Name = "btnsave", Dock = Dock.Right, AutoSizeToContents = false, Width = 120, } } }; var save = buttoncontainer.FindChildByName("btnsave"); var cancel = buttoncontainer.FindChildByName("btncancel"); save.Clicked += (o, e) => { FinishChange(); Close(); }; cancel.Clicked += (o, e) => { CancelChange(); Close(); }; _triggeroptions = new Panel(rightcontainer) { Dock = Dock.Fill, Padding = Padding.Four, Margin = new Margin(0, 0, 0, 5) }; _zoomoptions.Parent = _triggeroptions; _triggertype = GwenHelper.CreateLabeledCombobox( rightcontainer, "Trigger Type:"); _triggertype.Dock = Dock.Bottom; var zoom = _triggertype.AddItem("Zoom", "", TriggerType.Zoom); zoom.Selected += (o, e) => { _triggeroptions.Children.Clear(); _zoomoptions.Parent = _triggeroptions; }; var cameraoffset = _triggertype.AddItem("Camera Offset", "", TriggerType.CameraOffset); cameraoffset.Selected += (o, e) => { _triggeroptions.Children.Clear(); _cameraoffsetoptions.Parent = _triggeroptions; }; _triggertype.SelectByUserData(TriggerType.Zoom); }
private void SetupRight() { ControlBase rightcontainer = new ControlBase(this) { Margin = new Margin(0, 0, 0, 0), Dock = Dock.Right, AutoSizeToContents = true }; ControlBase buttoncontainer = new ControlBase(rightcontainer) { Margin = new Margin(0, 0, 0, 0), Dock = Dock.Bottom, AutoSizeToContents = true, Children = { new Button(null) { Text = "Cancel", Name = "btncancel", Dock = Dock.Right, Margin = new Margin(5, 0, 0, 0), AutoSizeToContents = false, Width = 60, }, new Button(null) { Text = "Save", Name = "btnsave", Dock = Dock.Right, AutoSizeToContents = false, Width = 120, } } }; var save = buttoncontainer.FindChildByName("btnsave"); var cancel = buttoncontainer.FindChildByName("btncancel"); save.Clicked += (o, e) => { FinishChange(); Close(); }; cancel.Clicked += (o, e) => { CancelChange(); Close(); }; this._triggeroptions = new Panel(rightcontainer) { Dock = Dock.Fill, Padding = Padding.Four, Margin = new Margin(0, 0, 0, 5) }; SetupZoom(); SetupBG(); SetupLine(); _zoomoptions.Parent = _triggeroptions; _triggertype = GwenHelper.CreateLabeledCombobox( rightcontainer, "Trigger Type:"); _triggertype.Dock = Dock.Bottom; var zoom = _triggertype.AddItem("Zoom", "", TriggerType.Zoom); zoom.CheckChanged += (o, e) => { _triggeroptions.Children.Clear(); _zoomoptions.Parent = _triggeroptions; triggerSelected = TriggerType.Zoom; Debug.WriteLine("Changed to Zoom"); }; var bgColor = _triggertype.AddItem("BG Color", "", TriggerType.BGChange); //Tran bgColor.CheckChanged += (o, e) => { _triggeroptions.Children.Clear(); _bgoptions.Parent = _triggeroptions; triggerSelected = TriggerType.BGChange; Debug.WriteLine("Changed to Background"); }; var lineColor = _triggertype.AddItem("Line Color", "", TriggerType.LineColor); //Tran lineColor.CheckChanged += (o, e) => { _triggeroptions.Children.Clear(); _lineoptions.Parent = _triggeroptions; triggerSelected = TriggerType.LineColor; Debug.WriteLine("Changed to Line"); }; _triggertype.SelectedItem = zoom; }
private void PopulateRider(ControlBase parent) { var scarfSettingPanel = GwenHelper.CreateHeaderPanel(parent, "Scarf Settings"); var riderSettingPanel = GwenHelper.CreateHeaderPanel(parent, "Rider Settings"); ComboBox scarfCombobox = GwenHelper.CreateLabeledCombobox(scarfSettingPanel, "Selected Scarf:"); scarfCombobox.AddItem("LRLuna Default", "*default*", "*default*"); scarfCombobox.Width = 215; string[] scarfPaths = Directory.GetFiles(Program.UserDirectory + "\\Scarves"); for (int i = 0; i < scarfPaths.Length; i++) { string scarfNames = Path.GetFileName(scarfPaths[i]); if ((scarfNames.EndsWith(".txt", true, CultureInfo.CurrentCulture)) || (scarfNames.EndsWith(".scarf", true, CultureInfo.CurrentCulture))) { scarfCombobox.AddItem(scarfNames, scarfNames, scarfNames); } } scarfCombobox.SelectByUserData(Settings.SelectedScarf); scarfCombobox.ItemSelected += (o, e) => { Settings.SelectedScarf = (String)e.SelectedItem.UserData; Settings.Save(); _editor.UpdateScarf(Settings.SelectedScarf); }; var scarfSegments = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.ScarfSegments, }; var scarfSegmentsLabel = GwenHelper.CreateLabeledControl(scarfSettingPanel, "Scarf Segments (Needs Restart)", scarfSegments); scarfSegments.ValueChanged += (o, e) => { Settings.ScarfSegments = (int)((Spinner)o).Value; Settings.Save(); }; var multiScarfAmount = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.multiScarfAmount, }; multiScarfAmount.ValueChanged += (o, e) => { Settings.multiScarfAmount = (int)((Spinner)o).Value; Settings.Save(); _editor.InvalidateRenderRider(); }; GwenHelper.CreateLabeledControl(scarfSettingPanel, "Multi-Scarf Amount (Needs Restart)", multiScarfAmount); var multiScarfSegments = new Spinner(parent) { Min = 1, Max = int.MaxValue - 1, Value = Settings.multiScarfSegments, }; multiScarfSegments.ValueChanged += (o, e) => { Settings.multiScarfSegments = (int)((Spinner)o).Value; Settings.Save(); _editor.InvalidateRenderRider(); }; GwenHelper.CreateLabeledControl(scarfSettingPanel, "Multi-Scarf Segments (Needs Restart)", multiScarfSegments); var showid = GwenHelper.AddCheckbox(scarfSettingPanel, "Apply Custom Scarf to Rider Image", Settings.CustomScarfOnPng, (o, e) => { Settings.CustomScarfOnPng = ((Checkbox)o).IsChecked; Settings.Save(); Models.LoadModels(Settings.SelectedBoshSkin); }); ComboBox boshSkinCombobox = GwenHelper.CreateLabeledCombobox(riderSettingPanel, "Selected Rider:"); boshSkinCombobox.AddItem("LRLuna Default", "*default*", "*default*"); boshSkinCombobox.Width = 217; string[] riderPaths = Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/LRA/Riders"); for (int i = 0; i < riderPaths.Length; i++) { String riderNames = Path.GetFileName(riderPaths[i]); boshSkinCombobox.AddItem(riderNames, riderNames, riderNames); } boshSkinCombobox.SelectByUserData(Settings.SelectedBoshSkin); boshSkinCombobox.ItemSelected += (o, e) => { Settings.SelectedBoshSkin = (String)e.SelectedItem.UserData; Settings.Save(); Models.LoadModels(Settings.SelectedBoshSkin); }; }
private void PopulateModes(ControlBase parent) { var background = GwenHelper.CreateHeaderPanel(parent, "Background Color"); GwenHelper.AddCheckbox(background, "Night Mode", Settings.NightMode, (o, e) => { Settings.NightMode = ((Checkbox)o).IsChecked; Settings.Save(); }); var whitebg = GwenHelper.AddCheckbox(background, "Pure White Background", Settings.WhiteBG, (o, e) => { Settings.WhiteBG = ((Checkbox)o).IsChecked; Settings.Save(); }); var coloredbg = GwenHelper.AddCheckbox(background, "Colored Background", Settings.ColoredBG, (o, e) => { Settings.ColoredBG = ((Checkbox)o).IsChecked; Settings.Save(); }); var panelgeneral = GwenHelper.CreateHeaderPanel(parent, "General"); var superzoom = GwenHelper.AddCheckbox(panelgeneral, "Superzoom", Settings.SuperZoom, (o, e) => { Settings.SuperZoom = ((Checkbox)o).IsChecked; Settings.Save(); }); ComboBox scroll = GwenHelper.CreateLabeledCombobox(panelgeneral, "Scroll Sensitivity:"); scroll.Margin = new Margin(0, 0, 0, 0); scroll.Dock = Dock.Bottom; scroll.AddItem("0.25x").Name = "0.25"; scroll.AddItem("0.5x").Name = "0.5"; scroll.AddItem("0.75x").Name = "0.75"; scroll.AddItem("1x").Name = "1"; scroll.AddItem("2x").Name = "2"; scroll.AddItem("3x").Name = "3"; scroll.SelectByName("1");//default if user setting fails. scroll.SelectByName(Settings.ScrollSensitivity.ToString(Program.Culture)); scroll.ItemSelected += (o, e) => { if (e.SelectedItem != null) { Settings.ScrollSensitivity = float.Parse(e.SelectedItem.Name, Program.Culture); Settings.Save(); } }; superzoom.Tooltip = "Allows the user to zoom in\nnearly 10x more than usual."; var colbg = GwenHelper.CreateHeaderPanel(parent, "Colored Background RGB"); var redS = new Spinner(null) { Min = 0, Max = 255, Value = Settings.RedColored, }; redS.ValueChanged += (o, e) => { Settings.RedColored = (int)redS.Value; Constants.Red = (int)redS.Value; Settings.Save(); Constants.ColorColored = new Color4((float)(Constants.Red / 255), (float)(Constants.Green / 255), (float)(Constants.Blue / 255), 255); }; GwenHelper.CreateLabeledControl(colbg, "Red", redS); var greenS = new Spinner(null) { Min = 0, Max = 255, Value = Settings.GreenColored, }; greenS.ValueChanged += (o, e) => { Settings.GreenColored = (int)greenS.Value; Constants.Green = (int)greenS.Value; Settings.Save(); Constants.ColorColored = new Color4((float)(Constants.Red / 255), (float)(Constants.Green / 255), (float)(Constants.Blue / 255), 255); }; GwenHelper.CreateLabeledControl(colbg, "Green", greenS); var blueS = new Spinner(null) { Min = 0, Max = 255, Value = Settings.BlueColored, }; blueS.ValueChanged += (o, e) => { Settings.BlueColored = (int)blueS.Value; Constants.Blue = (int)blueS.Value; Settings.Save(); Constants.ColorColored = new Color4((float)(Constants.Red / 255), (float)(Constants.Green / 255), (float)(Constants.Blue / 255), 255); }; GwenHelper.CreateLabeledControl(colbg, "Blue", blueS); }