Update MUSliderHorizontal.cs
This commit is contained in:
@@ -106,15 +106,21 @@ namespace MuHua {
|
|||||||
tracker.style.width = CurrentPosition;
|
tracker.style.width = CurrentPosition;
|
||||||
UpdateFloatField();
|
UpdateFloatField();
|
||||||
}
|
}
|
||||||
|
internal void UpdateFloatField(ChangeEvent<float> evt) {
|
||||||
|
float value = Mathf.Clamp(evt.newValue, MinValue, MaxValue);
|
||||||
|
slidingValue = (value - MinValue) / (MaxValue - MinValue);
|
||||||
|
tracker.style.width = CurrentPosition;
|
||||||
|
SlidingValueChanged?.Invoke(Value);
|
||||||
|
}
|
||||||
internal void UpdateFloatField(bool value) {
|
internal void UpdateFloatField(bool value) {
|
||||||
isDisplayInput = value;
|
isDisplayInput = value;
|
||||||
floatField.style.display = isDisplayInput ? DisplayStyle.Flex : DisplayStyle.None;
|
floatField.style.display = isDisplayInput ? DisplayStyle.Flex : DisplayStyle.None;
|
||||||
}
|
}
|
||||||
internal void UpdateFloatField() {
|
internal void UpdateFloatField() {
|
||||||
floatField.value = Value;
|
floatField.SetValueWithoutNotify(Value);
|
||||||
}
|
}
|
||||||
internal float UpdateValue() {
|
internal float UpdateValue() {
|
||||||
float value = (MaxValue - MinValue) * SlidingValue;
|
float value = Mathf.Lerp(MinValue, MaxValue, SlidingValue);
|
||||||
if (dataType == RoundDataType.保留两位小数) { value = (float)Math.Round(value, 2); }
|
if (dataType == RoundDataType.保留两位小数) { value = (float)Math.Round(value, 2); }
|
||||||
if (dataType == RoundDataType.整数) { value = Mathf.FloorToInt(value); }
|
if (dataType == RoundDataType.整数) { value = Mathf.FloorToInt(value); }
|
||||||
return Mathf.Clamp(value, MinValue, MaxValue);
|
return Mathf.Clamp(value, MinValue, MaxValue);
|
||||||
@@ -165,6 +171,8 @@ namespace MuHua {
|
|||||||
dragger.RegisterCallback<PointerUpEvent>((evt) => isDragger = false);
|
dragger.RegisterCallback<PointerUpEvent>((evt) => isDragger = false);
|
||||||
dragger.RegisterCallback<PointerLeaveEvent>((evt) => isDragger = false);
|
dragger.RegisterCallback<PointerLeaveEvent>((evt) => isDragger = false);
|
||||||
|
|
||||||
|
floatField.RegisterCallback<ChangeEvent<float>>(UpdateFloatField);
|
||||||
|
|
||||||
container.RegisterCallback<PointerDownEvent>(ContainerDown);
|
container.RegisterCallback<PointerDownEvent>(ContainerDown);
|
||||||
}
|
}
|
||||||
private void DraggerDown(PointerDownEvent evt) {
|
private void DraggerDown(PointerDownEvent evt) {
|
||||||
|
|||||||
Reference in New Issue
Block a user