using TMPro; using UnityEngine; using UnityEngine.UI; namespace AibisDream { public class SliderItem : AbsFormItem { public override FieldType FieldType => FieldType.Slider; #region 索引 private Slider _slider; private TMP_Text _sliderText; #endregion protected override void InitField() { // 初始化索引 _slider = GetComponentInChildren(); _sliderText = _slider.GetComponentInChildren(true); // 绑定事件 _slider.onValueChanged.AddListener(OnSliderChanged); } private void OnSliderChanged(float value) { // 更新数字显示 _sliderText.text = Mathf.RoundToInt(value * 100).ToString(); // 触发修改事件 OnValueChanged.Invoke(prop, value.ToString("F2")); } public override void SetValue(string value) { var floatValue = float.Parse(value); _slider.value = floatValue; _sliderText.text = Mathf.RoundToInt(floatValue * 100).ToString(); } } }