56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
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<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;
|
|
}
|
|
|
|
}
|
|
}
|