Files
EnglewoodLAB/Assets/Scripts/UI/SettingPanel/UI_SliderInputField.cs
SOOBEEN HAN f1894889ee <refactor> Octopus Twin 템플릿 적용
- 기능 외 UI 구조만 적용
- 프로젝트에 걸맞는 UI는 재작업 필요
2026-02-23 18:20:09 +09:00

51 lines
1.2 KiB
C#

using System;
using TMPro;
using UnityEngine.UI;
namespace EnglewoodLAB.UI
{
public class UI_SliderInputField : UIBase
{
private bool isUpdating = false;
public TMP_InputField inputField;
public Slider Slider;
public void SetSliderInputField()
{
inputField = transform.GetComponentInChildren<TMP_InputField>();
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;
}
}
}