예제 #1
0
        public void CreateCameraMovementSlider()
        {
            var menuRow = ControlVBox.AddChildAndReturn(new SettingsRow <VBoxContainer>());

            menuRow.Label.Text = "Camera Movement Multiplier";
            var slider = menuRow.InputObject.AddChildAndReturn(new HSlider());

            slider.FocusMode = FocusModeEnum.None;
            slider.MinValue  = 0.1;
            slider.MaxValue  = 2;
            slider.Step      = 0.1;
            slider.Value     = SettingsManager.CameraMovementMultiplier;
            var sliderEdit = menuRow.InputObject.AddChildAndReturn(new LineEdit());

            slider.Connect("value_changed", this, nameof(OnCameraMovementSliderValueChanged), new[] { sliderEdit });
            sliderEdit.Align = LineEdit.AlignEnum.Center;
            //Label.Autowrap = true;
            sliderEdit.SizeFlagsHorizontal = (int)SizeFlags.Fill;
            sliderEdit.MouseFilter         = MouseFilterEnum.Pass;
            sliderEdit.Text = slider.Value.ToString();
            sliderEdit.Connect(Signal.TextEntered, this, nameof(OnCameraMovementLineEditEntered),
                               new Node[] { sliderEdit, slider });
            NameToRowControl[menuRow.Label.Text] = menuRow;
        }