Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        protected override void UpdateSetting()
        {
            NumberSelect numberSelect = (NumberSelect)_setting;

            GetLimits();
            numberSelect.Value = Convert.ToDouble(_numberModel.Value);
            base.UpdateSetting();
        }
Ejemplo n.º 3
0
        public IActionResult NumberSelect(String inputNumber = null)
        {
            if (String.IsNullOrEmpty(inputNumber))
            {
                inputNumber = "0";
            }

            NumberSelect numberSelect = numberSelectServices.ChooseProduct(inputNumber);

            return(View(numberSelect));
        }
Ejemplo n.º 4
0
 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);
     }
 }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
        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;
            }
        }
Ejemplo n.º 8
0
        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;
                }
            }
        }
Ejemplo n.º 9
0
 /// <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;
 }