protected override void SettingChanged() { base.SettingChanged(); if (_setting == null) { return; } NumberSelect numberSelect = (NumberSelect)_setting; switch (numberSelect.ValueType) { case NumberSelect.NumberType.FloatingPoint: _numberModel = new FloatingPointModel(numberSelect.Value, numberSelect.Step, numberSelect.MaxNumDigits); break; case NumberSelect.NumberType.Integer: _numberModel = new IntegerModel((int)numberSelect.Value, (int)numberSelect.Step); break; default: throw new InvalidDataException("NumberType '{0}' is not supported", numberSelect.ValueType); } GetLimits(); Value = _numberModel.ToString(); DisplayLength = _numberModel.GetMaxNumCharacters(); }
protected override void UpdateSetting() { NumberSelect numberSelect = (NumberSelect)_setting; GetLimits(); numberSelect.Value = Convert.ToDouble(_numberModel.Value); base.UpdateSetting(); }
public IActionResult NumberSelect(String inputNumber = null) { if (String.IsNullOrEmpty(inputNumber)) { inputNumber = "0"; } NumberSelect numberSelect = numberSelectServices.ChooseProduct(inputNumber); return(View(numberSelect)); }
public NumberSelect ChooseProduct(string input = null) { if (input.Equals("1")) { NumberSelect numberSelect = new NumberSelect("1", "sunglasses"); return(numberSelect); } else if (input.Equals("2")) { NumberSelect numberSelect = new NumberSelect("2", "hat"); return(numberSelect); } else { NumberSelect numberSelect = new NumberSelect(input, "none"); return(numberSelect); } }
/// <summary> /// Creates a number select. /// </summary> /// <param name="position"></param> /// <param name="tag"></param> /// <returns></returns> private NumericUpDown CreateNumberSelect(Position position, NumberSelect tag) { NumericUpDown num = new NumericUpDown(); num.Tag = tag; num.TabIndex = position.NextTabIndex; num.Name = "numberSelect" + position.TabIndex.ToString(); num.Width = position.WidthColumnTwo; num.Location = new Point(position.StartColumnTwo, position.LinePosition); if (tag.ValueType != NumberSelect.NumberType.FixedPoint) { num.DecimalPlaces = 3; num.Increment = (decimal)0.001; } num.Maximum = 999999999999999; num.Minimum = -999999999999999; num.Value = (decimal)tag.Value; num.ValueChanged += _numUpDownChanged; return(num); }
public static void MovedTouch(float x1, float y1, float x2, float y2) { switch (GameView.activeScene) { case "Multiplayer": Multiplayer.MovedTouch(x1, y1, x2, y2); break; case "MainMenu": MainMenu.MovedTouch(x1, y1, x2, y2); break; case "ModeSelect": ModeSelect.MovedTouch(x1, y1, x2, y2); break; case "Game_Solo": Game_Solo.MovedTouch(x1, y1, x2, y2); break; case "NumberSelect": NumberSelect.MovedTouch(x1, y1, x2, y2); break; case "Result_Solo": Result_Solo.MovedTouch(x1, y1, x2, y2); break; case "Rules": Rules.MovedTouch(x1, y1, x2, y2); break; default: break; } }
public static void JustTouch(float x, float y) { switch (GameView.activeScene) { case "Multiplayer": Multiplayer.JustTouch(x, y); break; case "MainMenu": MainMenu.JustTouch(x, y); break; case "ModeSelect": ModeSelect.JustTouch(x, y); break; case "Game_Solo": Game_Solo.JustTouch(x, y); break; case "NumberSelect": NumberSelect.JustTouch(x, y); break; case "Result_Solo": Result_Solo.JustTouch(x, y); break; case "Rules": Rules.JustTouch(x, y); break; default: break; } }
void PopulateSettingsDock(IEnumerable <UISetting> settings, DockPanel dock) { void Dispatch(Action action) { if (Thread.CurrentThread.ManagedThreadId == Dispatcher.Thread.ManagedThreadId) { action(); } else { Dispatcher.InvokeAsync(action).Task.GetAwaiter().GetResult(); } } dock.LastChildFill = false; foreach (var sett in settings) { if (sett is UILabel) { var s = sett as UILabel; var label = new Label() { Content = s.Text, FontSize = s.FontSize, Margin = new Thickness(0, 0, 0, s.Padding) }; DockPanel.SetDock(label, Dock.Top); dock.Children.Add(label); } if (sett is UINumber) { var s = sett as UINumber; var number = new NumberSelect() { Minimum = (decimal)s.Minimum, Maximum = (decimal)s.Maximum, DecimalPoints = s.DecialPoints, Step = (decimal)s.Step, Value = (decimal)s.Value }; number.MinWidth = 100; var label = new Label() { Content = s.Text, FontSize = 16 }; var d = new DockPanel() { HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(0, 0, 0, s.Padding) }; if (!(s.Text == null || s.Text == "")) { number.Margin = new Thickness(5, 0, 0, 1); d.Children.Add(label); } d.Children.Add(number); DockPanel.SetDock(d, Dock.Top); number.ValueChanged += (_, e) => { s.Value = (double)e.NewValue; }; dock.Children.Add(d); s.EnableToggled += (enable) => { Dispatch(() => number.IsEnabled = enable); }; s.ValueChanged += (v) => Dispatch(() => { if (v < (double)number.Minimum) { v = (double)number.Minimum; } if (v > (double)number.Maximum) { v = (double)number.Maximum; } if (number.Value != (decimal)v) { number.Value = (decimal)v; } }); settingsControls.Add(number); settingsMeta.Add(s); } if (sett is UINumberSlider) { var s = sett as UINumberSlider; double min = s.Minimum; double max = s.Maximum; if (s.Logarithmic) { min = Math.Log(min, 2); max = Math.Log(max, 2); } var number = new ValueSlider() { Minimum = min, Maximum = max, TrueMin = (decimal)s.TrueMinimum, TrueMax = (decimal)s.TrueMaximum, DecimalPoints = s.DecialPoints, Step = (decimal)s.Step }; if (s.Logarithmic) { number.nudToSlider = v => Math.Log(v, 2); number.sliderToNud = v => Math.Pow(2, v); } number.Value = s.Value; number.MinWidth = 400; var label = new Label() { Content = s.Text, FontSize = 16 }; var d = new DockPanel() { HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(0, 0, 0, s.Padding) }; if (!(s.Text == null || s.Text == "")) { number.Margin = new Thickness(5, 0, 0, 1); d.Children.Add(label); } d.Children.Add(number); DockPanel.SetDock(d, Dock.Top); number.ValueChanged += (_, e) => { s.Value = e.NewValue; }; dock.Children.Add(d); s.EnableToggled += (enable) => { Dispatch(() => number.IsEnabled = enable); }; s.ValueChanged += (v) => Dispatch(() => { v = Math.Round(v, s.DecialPoints); if (v < (double)number.TrueMin) { v = (double)number.TrueMin; } if (v > (double)number.TrueMax) { v = (double)number.TrueMax; } if (number.Value != v) { number.Value = v; } }); settingsControls.Add(number); settingsMeta.Add(s); } if (sett is UIDropdown) { var s = sett as UIDropdown; var drop = new ComboBox() { FontSize = 16 }; var label = new Label() { Content = s.Text, FontSize = 16 }; foreach (var o in s.Options) { drop.Items.Add(new ComboBoxItem() { Content = o, FontSize = 16 }); } var d = new DockPanel() { HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(0, 0, 0, s.Padding) }; if (!(s.Text == null || s.Text == "")) { drop.Margin = new Thickness(5, 0, 0, 0); d.Children.Add(label); } d.Children.Add(drop); DockPanel.SetDock(d, Dock.Top); drop.SelectionChanged += (_, e) => { var combo = (ComboBox)e.Source; s.Index = combo.SelectedIndex; s.Value = s.Options[combo.SelectedIndex]; }; drop.SelectedIndex = s.Index; dock.Children.Add(d); s.EnableToggled += (enable) => { Dispatch(() => drop.IsEnabled = enable); }; s.IndexChanged += (i) => Dispatch(() => { if (drop.SelectedIndex != i) { drop.SelectedIndex = i; } }); settingsControls.Add(drop); settingsMeta.Add(s); } if (sett is UICheckbox) { var s = sett as UICheckbox; var check = new BetterCheckbox() { FontSize = 16, Text = s.Text }; DockPanel.SetDock(check, Dock.Top); check.CheckToggled += (_, e) => { s.Checked = e.NewValue; }; check.Margin = new Thickness(0, 0, 0, s.Padding); check.IsChecked = s.Checked; dock.Children.Add(check); s.EnableToggled += (enable) => { Dispatch(() => check.IsEnabled = enable); }; s.ValueChanged += (c) => Dispatch(() => { if (check.IsChecked != c) { check.IsChecked = c; } }); settingsControls.Add(check); settingsMeta.Add(s); } if (sett is UITabs) { var s = sett as UITabs; var tabs = new TabControl(); foreach (var k in s.Tabs.Keys) { var item = new TabItem() { Header = k }; var d = new DockPanel() { Margin = new Thickness(10, 10, 10, 0) }; d.LastChildFill = false; var c = new Grid(); c.Children.Add(d); item.Content = c; PopulateSettingsDock(s.Tabs[k], d); tabs.Items.Add(item); } dock.Children.Add(tabs); dock.LastChildFill = true; break; } } }
/// <summary> /// Creates a number select. /// </summary> /// <param name="position"></param> /// <param name="tag"></param> /// <returns></returns> private NumericUpDown CreateNumberSelect(Position position, NumberSelect tag) { NumericUpDown num = new NumericUpDown(); num.Tag = tag; num.TabIndex = position.NextTabIndex; num.Name = "numberSelect" + position.TabIndex.ToString(); num.Width = position.WidthColumnTwo; num.Location = new Point(position.StartColumnTwo, position.LinePosition); if (tag.ValueType != NumberSelect.NumberType.FixedPoint) { num.DecimalPlaces = 3; num.Increment = (decimal)0.001; } num.Maximum = 999999999999999; num.Minimum = -999999999999999; num.Value = (decimal)tag.Value; num.ValueChanged += _numUpDownChanged; return num; }