namespace Guru { using UnityEngine; using System; internal class BindableProperty { private T _value; public T Value { get => _value; set { _value = value; OnValueChanged?.Invoke(value); } } public event Action OnValueChanged; public BindableProperty() { } public BindableProperty(Action onChanged) { OnValueChanged = onChanged; } public BindableProperty(T initValue, Action onChanged) { _value = initValue; OnValueChanged = onChanged; } } }