com.guru.unity.sdk/Runtime/Code/Model/BindableProperty.cs

38 lines
749 B
C#

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