Files
aibis-dream/Assets/Scripts/UI/Form/SliderItem.cs
T
dingyuntian 9f20ef52d8 UI工具翻新
1. 增加UI工具
2. 增加设置页面
3. GameLoop更新
4. 导入ActionKit工具
2025-04-21 18:53:30 +08:00

42 lines
1.1 KiB
C#

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<Slider>();
_sliderText = _slider.GetComponentInChildren<TMP_Text>(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();
}
}
}