52 lines
797 B
C#
52 lines
797 B
C#
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();
|
|
}
|
|
}
|
|
}
|