内容包括
DistinctUntilChanged
RepeatUntilDestroy
RepeatUntilDisable
SkipUntil
TakeUntil
TakeUntilDestroy
TakeUntilDisable
DistinctUntilChanged
Distinct 计算机专业词汇意思是去除重复,翻译过来是 去除重复的数据直到有变化才会通知
监控数据源有没有变化,一旦有变化则通知订阅者进行处理,图解
1-2数据有变化,输出了12
2-2数据没有变化,无输出
2-1-3数据有变化,输出了13
输出结果
示例代码
public class No04_Until : MonoBehaviour
{
void Start()
{
var updateStream = Observable.EveryUpdate();
var distinctUntilChanged = updateStream.DistinctUntilChanged(Condition);
distinctUntilChanged.Subscribe(Next, Error, Complete);
}
bool Condition(long frame)
{
// down & up
var isDown = Input.GetMouseButton((int) MouseButton.LeftMouse);
return isDown;
}
void Next(long frame)
{
Debug.LogFormat("变化的事件发生在{0}帧", frame);
}
void