using UnityEngine.UIElements; namespace RosettaUI.UIToolkit { /// /// TextFieldにSliderを内包したもの /// /// /// SliderもshowInputFieldでTextFieldを表示できるが値がクランプされる /// 範囲外の値がセットされた場合でもクランプせずに正確な値を表示したい場合に使用する /// /// SliderにTextFieldを入れる作りにはしない? /// - this.value = newValue でクランプされてしまう /// /// 親VisualElementを用意してSliderとTextFieldを並列に並べるのは? /// - ラベルのドラッグで値が変わって欲しい /// - SliderもTextFieldもフォーカスが合ったときラベルの色を変えたい /// public class ClampFreeSlider : FloatField, IClampFreeSlider { public BaseSlider Slider { get; } public VisualElement InputField { get; } public ClampFreeSlider() { InputField = this.Q(); Slider = new Slider(); this.Initialize(); } public override void SetValueWithoutNotify(float newValue) { base.SetValueWithoutNotify(newValue); Slider.SetValueWithoutNotify(newValue); } } }