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) + " %"; } } }