public void Configure() { CenteredScreen settingsScreen = new CenteredScreen(200, 20, ConsoleColor.Black, Color) { TabPoint = 0, Title = "Lemonade - Settings" #if DEBUG + "[R to redraw]" #endif }; Panel scr = settingsScreen.ContentPanel; scr.ForeColor = ConsoleColor.DarkGray; Label playerLabel = new Label("Players"); playerLabel.Point = new Point(scr.Size.Width / 2 - playerLabel.Content.Length / 2, 3); scr.Controls.Add(playerLabel); Slider playerSlider = new Slider { MinValue = 1, Value = 2, Size = new Size(100, 1) }; playerSlider.Point = new Point(scr.Size.Width / 2 - playerSlider.Size.Width / 2, 4); scr.Controls.Add(playerSlider); Label difficultyLabel = new Label("Difficulty"); difficultyLabel.Point = new Point(scr.Size.Width / 2 - difficultyLabel.Content.Length / 2, 7); scr.Controls.Add(difficultyLabel); Slider difficulty = new Slider { Value = 5, Size = new Size(100, 1) }; difficulty.Point = new Point(scr.Size.Width / 2 - difficulty.Size.Width / 2, 8); scr.Controls.Add(difficulty); CheckBox colorBox = new CheckBox("Color") { Checked = true }; colorBox.Point = new Point(scr.Size.Width / 2 - (colorBox.Content.Length + 4) / 2, 12); colorBox.CheckedChanged += (screen, args) => { settingsScreen.Color = colorBox.Checked; }; #if DEBUG settingsScreen.Input += (screen, args) => { if (args.Info.Key == ConsoleKey.R) { DiffDraw.Draw(Color, true); } }; #endif scr.Controls.Add(colorBox); Button okButton = new Button("OK"); okButton.Point = new Point(scr.Size.Width / 2 - okButton.Content.Length / 2, 16); scr.Controls.Add(okButton); bool visible = true; okButton.Click += (screen, args) => visible = false; settingsScreen.Close += (screen, args) => visible = false; if (!File.Exists(Settingsfile)) { GenDef(); } try { XElement conf = XElement.Parse(File.ReadAllText(Settingsfile)); playerSlider.Value = int.Parse(conf.Element("Players").Value); difficulty.Value = int.Parse(conf.Element("Difficulty").Value); colorBox.Checked = bool.Parse(conf.Element("Color").Value); settingsScreen.Color = colorBox.Checked; } catch { Debug.Fail("Failed to load settings"); } settingsScreen.Render(); while (visible) { settingsScreen.ReadInput(); Thread.Sleep(100); } PlayerCount = playerSlider.Value; DifficultyFactor = difficulty.Value / 10f; Color = colorBox.Checked; try { Gen(PlayerCount, difficulty.Value, Color); } catch { Debug.Fail("Failed to save settings"); } }
private static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Clear(); CenteredScreen cScreen = new CenteredScreen(40, 20, ConsoleColor.Green); Panel screen = cScreen.ContentPanel; Button btn1 = new Button("Test") { Point = new Point(2, 0), BackColor = ConsoleColor.DarkGreen }; screen.Controls.Add(btn1); btn1.Click += (screen1, eventArgs) => { DiffDraw.Draw(true, true); }; Label lab1 = new Label("Meem") { Point = new Point(2, 1), BackColor = ConsoleColor.Green }; screen.Controls.Add(lab1); screen.Controls.Add(new Label("Saas\nSoos") { Point = new Point(2, 2), BackColor = ConsoleColor.Green }); Button btn2 = new Button("X") { BackColor = ConsoleColor.Red, ForeColor = ConsoleColor.White }; screen.Controls.Add(btn2); CheckBox box = new CheckBox("Are u gae?") { Point = new Point(2, 3), BackColor = ConsoleColor.DarkGreen }; screen.Controls.Add(box); box.CheckedChanged += (screen1, eventArgs) => { lab1.Content = box.Checked ? "Sas" : "Meem"; }; TextBox tbox = new TextBox("Hello\nWorld1\n\nHow are u?") { Size = new Size(20, 10), Point = new Point(0, 6), BackColor = ConsoleColor.DarkYellow }; screen.Controls.Add(tbox); Slider slider = new Slider { Point = new Point(2, 4), Size = new Size(16, 2), MaxValue = 75, StepSize = 14, MinValue = -3, Value = 7, BackColor = ConsoleColor.Magenta }; screen.Controls.Add(slider); bool visible = true; btn2.Click += (screen1, eventArgs) => visible = false; cScreen.Close += (screen1, eventArgs) => visible = false; cScreen.TabChanged += (screen1, eventArgs) => btn1.Content = $"Test {cScreen.TabPoint}"; cScreen.Render(); while (visible) { Thread.Sleep(50); cScreen.ReadInput(); } Console.ResetColor(); Console.Clear(); Console.WriteLine("Test2"); Thread.Sleep(100); DiffDraw.Clear(10, 10); DiffDraw.Draw(true, false); Console.Clear(); Console.WriteLine("Bye"); }