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;
 | |
|         }
 | |
|     }
 | |
| } |