73 lines
1.2 KiB
C#
73 lines
1.2 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class WaterDirectionSlider : MonoBehaviour
|
|
{
|
|
public enum SettingType
|
|
{
|
|
DIRECTION = 0,
|
|
DIRECTIONALITY = 1
|
|
}
|
|
|
|
public SettingType settingType;
|
|
|
|
public Text label;
|
|
|
|
public Slider slider;
|
|
|
|
public WaterSettings waterSettings;
|
|
|
|
private void Start()
|
|
{
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
Refresh();
|
|
}
|
|
|
|
public void Refresh()
|
|
{
|
|
if ((bool)waterSettings)
|
|
{
|
|
if (settingType == SettingType.DIRECTION)
|
|
{
|
|
slider.value = waterSettings.waterDirection;
|
|
}
|
|
else if (settingType == SettingType.DIRECTIONALITY)
|
|
{
|
|
slider.value = waterSettings.waterDirectionality;
|
|
}
|
|
UpdateLabel();
|
|
}
|
|
}
|
|
|
|
public void UpdateValue()
|
|
{
|
|
if ((bool)waterSettings)
|
|
{
|
|
if (settingType == SettingType.DIRECTION)
|
|
{
|
|
waterSettings.SetDirection(slider.value);
|
|
}
|
|
else if (settingType == SettingType.DIRECTIONALITY)
|
|
{
|
|
waterSettings.SetDirectionality(slider.value);
|
|
}
|
|
UpdateLabel();
|
|
}
|
|
}
|
|
|
|
public void UpdateLabel()
|
|
{
|
|
if (settingType == SettingType.DIRECTION)
|
|
{
|
|
label.text = slider.value.ToString("F0") + "°";
|
|
}
|
|
else if (settingType == SettingType.DIRECTIONALITY)
|
|
{
|
|
label.text = Mathf.RoundToInt(slider.value * 100f) + " %";
|
|
}
|
|
}
|
|
}
|