【Unity】UniRx:連打防止ボタン

DEVELOP, UniRx, Unity

ThrottleFirst 使って一定時間処理を受け付けない様に出来る。

Button
.OnClickAsObservable()
.TakeUntilDestroy(this)
.ThrottleFirst(TimeSpan.FromMilliseconds(1000))
.Subscribe(_ => { OnClick(); });

説明

機能用途
OnClickAsObservable()クリック検知を登録
TakeUntilDestroy()thisがDestroyされると、OnComplete -> disposeが呼ばれる
TThrottleFirst(TimeSpan.FromMilliseconds(1000))クリック検知を登録
OSubscribe(_ => { OnClick(); });イベント内容

Posted by kazupon