Distinct
이전에 발생한적 있는 이벤트는 무시하고, 처음 발생한 이벤트만 통지한다.
더보기
using UnityEngine;
using UniRx;
public class Game : MonoBehaviour
{
IntReactiveProperty _property = new IntReactiveProperty();
void Start()
{
_property
.Distinct()
.Subscribe(value => Debug.Log(value)); // 구독시 이벤트 통지: 0
_property.Value = 1; // 이벤트 통지: 1
_property.Value = 2; // 이벤트 통지: 2
_property.Value = 2; // X
_property.Value = 1; // X
_property.Value = 3; // 이벤트 통지: 3
_property.Value = 0; // X
}
}
DistinctUntilChanged
이벤트가 변경되면 통지한다.
더보기
using UnityEngine;
using UniRx;
public class Game : MonoBehaviour
{
IntReactiveProperty _property = new IntReactiveProperty();
void Start()
{
_property
.DistinctUntilChanged()
.Subscribe(value => Debug.Log(value)); // 구독시 이벤트 통지: 0
_property.Value = 1; // 이벤트 통지: 1
_property.Value = 2; // 이벤트 통지: 2
_property.Value = 2; // X
_property.Value = 1; // 이벤트 통지: 1
_property.Value = 3; // 이벤트 통지: 3
_property.Value = 0; // 이벤트 통지: 0
}
}