rev 0.4, dev panel
This commit is contained in:
57
Assets/Scripts/DevOptionItem.cs
Normal file
57
Assets/Scripts/DevOptionItem.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class DevOptionItem : MonoBehaviour
|
||||
{
|
||||
public TMP_Text txtTitle;
|
||||
public TMP_InputField inputMin, inputMax, inputValue;
|
||||
public Slider slider;
|
||||
|
||||
public UnityAction<float> OnChanged;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
inputMin.onEndEdit.AddListener(OnEndEditMin);
|
||||
inputMax.onEndEdit.AddListener(OnEndEditMax);
|
||||
inputValue.onEndEdit.AddListener(OnEndEditValue);
|
||||
slider.onValueChanged.AddListener(OnValueChanged);
|
||||
}
|
||||
|
||||
public void Setup(string title, float min, float max, float value){
|
||||
txtTitle.text = title;
|
||||
inputMin.text = min.ToString();
|
||||
inputMax.text = max.ToString();
|
||||
inputValue.text = value.ToString();
|
||||
slider.minValue = min;
|
||||
slider.maxValue = max;
|
||||
slider.value = value;
|
||||
}
|
||||
|
||||
void OnEndEditMin(string value){
|
||||
float.TryParse(value, out float min);
|
||||
slider.minValue = min;
|
||||
}
|
||||
|
||||
void OnEndEditMax(string value){
|
||||
float.TryParse(value, out float max);
|
||||
slider.maxValue = max;
|
||||
}
|
||||
|
||||
void OnEndEditValue(string value){
|
||||
float parsedValue;
|
||||
if (float.TryParse(value, out parsedValue)) {
|
||||
slider.value = parsedValue;
|
||||
}
|
||||
}
|
||||
|
||||
void OnValueChanged(float value){
|
||||
inputValue.text = value.ToString();
|
||||
if (OnChanged != null) {
|
||||
OnChanged.Invoke(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user