using UnityEngine;
using UniRx;
public class Sample : MonoBehaviour
{
private ReactiveCollection<int> _intList = new ReactiveCollection<int>();
private void Start()
{
this._intList
.ObserveAdd()
.Subscribe(value =>
{
Debug.Log($"[Add]Index={value.Index},Value={value.Value}");
});
this._intList
.ObserveMove()
.Subscribe(value =>
{
Debug.Log($"[Move]Value={value.Value},NewIndex={value.NewIndex},OldIndex={value.OldIndex}");
});
this._intList
.ObserveRemove()
.Subscribe(value =>
{
Debug.Log($"[Remove]Index={value.Index},Value={value.Value}");
});
this._intList
.ObserveReplace()
.Subscribe(value =>
{
Debug.Log($"[Replace]Index={value.Index},NewValue={value.NewValue},OldValue={value.OldValue}");
});
this._intList
.ObserveReset()
.Subscribe(value =>
{
Debug.Log($"[Reset]");
});
this._intList.Add(0);
this._intList.Add(1);
this._intList.Add(2);
this._intList.Move(0, 2);
this._intList.Remove(1);
this._intList[0] = 3;
this._intList.Clear();
}
}