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();
        }
Пример #3
0
        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();
            };
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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";
        }
Пример #7
0
        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;
        }
Пример #9
0
        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);
            };
        }
Пример #10
0
        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);
        }