using Obvious.Soap; using UnityEngine; using UnityEngine.Events; public class BindBoolVariableToUnityEvent : MonoBehaviour { [SerializeField] private BoolVariable boolToCheck; [SerializeField] private bool _CheckOnAwake; [SerializeField] private UnityEvent onCheckTrue; [SerializeField] private UnityEvent onCheckFalse; private void Awake() { if (_CheckOnAwake) { if (boolToCheck.Value) { onCheckTrue?.Invoke(); } else { onCheckFalse?.Invoke(); } } boolToCheck.OnValueChanged += BoolToCheck_OnValueChanged; } private void OnDestroy() { boolToCheck.OnValueChanged -= BoolToCheck_OnValueChanged; } private void BoolToCheck_OnValueChanged(bool obj) { if (obj) { onCheckTrue.Invoke(); } else { onCheckFalse.Invoke(); } } }