using Michsky.UI.Heat; using Obvious.Soap; using UnityEngine; public class BindBoolVariableToSwitch : MonoBehaviour { [SerializeField] private BoolVariable _BoolToCheck; [SerializeField] private bool _CheckOnEnable; [SerializeField] private SwitchManager _Switch; private void OnEnable() { if (_CheckOnEnable) { UpdateSwitch(); } _BoolToCheck.OnValueChanged += CheckValue; } private void OnDisable() { _BoolToCheck.OnValueChanged -= CheckValue; } private void CheckValue(bool value) { UpdateSwitch(); } private void UpdateSwitch() { if ((bool)_Switch && _Switch.isOn != _BoolToCheck.Value) { if (_BoolToCheck.Value) { _Switch.SetOn(); } else { _Switch.SetOff(); } } } }