using RR.Common.Settings; using TMPro; using UnityEngine; using UnityEngine.UI; namespace RR.Common.UI { public class SettingToggleBinder : MonoBehaviour { [SerializeField] private string key; [SerializeField] private Toggle toggle; [SerializeField] private TMP_Text label; private SettingEntry def; private void Start() { def = SettingsManager.Instance.Define(key); if (def == null) { gameObject.SetActive(false); return; } if (label) label.text = def.displayName; toggle.SetIsOnWithoutNotify(SettingsManager.Instance.Get(key).b); toggle.onValueChanged.AddListener(v => SettingsManager.Instance.Set(key, SettingValue.Bool(v)) ); } } }