using CHN; using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using WI; namespace CHN { public class UI_SliderInputField : UIBase { private bool isUpdating = false; public TMP_InputField inputField; public Slider Slider; public void SetSliderInputField() { inputField = transform.GetComponentInChildren(); Slider.onValueChanged.AddListener(OnSliderValueChanged); inputField.onValueChanged.AddListener(OnInputFieldValueChanged); } public void SetText(string value) { inputField.text = value; } void OnSliderValueChanged(float value) { if (isUpdating) return; var newValue = Math.Truncate(value * 10f) / 10f; isUpdating = true; inputField.text = newValue.ToString(); isUpdating = false; } void OnInputFieldValueChanged(string value) { if (isUpdating) return; isUpdating = true; if (float.TryParse(value, out float newValue)) { Slider.value = newValue; } isUpdating = false; } } }