38 lines
749 B
C#
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|