Skip to content

ファクトリメソッド一覧

R3 が提供するファクトリメソッド(Observable の静的メソッドおよび拡張メソッド)を目的別に分類しています。

カテゴリ

カテゴリ概要主な API
値の生成単一値・シーケンスの生成、既存型からの変換Return, Range, ToObservable など
時間ベース時間・フレーム駆動のシーケンス生成Timer, Interval, EveryUpdate など
イベント・非同期イベント・非同期処理・カスタムソースの生成FromEvent, Create, EveryValueChanged など
UnityUnityEvent、uGUI、TextMeshPro、XR、MonoBehaviour コールバックの変換UnityEvent.AsObservable, uGUI events, Update triggers など
合成複数の Observable を組み合わせて生成Merge, Concat, Zip など
特殊特殊なシーケンスの生成Empty, Never, Throw

値の生成

API概要
Return単一の値を発行して完了する
ReturnUnitUnit 値を発行して完了する(最適化版)
ReturnFrame次のフレームで単一の値を発行して完了する
ReturnOnCompleted値を発行せず、指定した Result で完了する
Range連続する整数シーケンスを発行する
Repeat同じ値を指定回数繰り返し発行する
ToObservableTask / IEnumerable / IAsyncEnumerable / IObservable を Observable に変換する

時間ベース

API概要
Timer指定時間後に値を発行する(繰り返しも可)
TimerFrame指定フレーム後に値を発行する(繰り返しも可)
Interval一定間隔で値を繰り返し発行する
IntervalFrame一定フレーム間隔で値を繰り返し発行する
EveryUpdate毎フレーム値を発行する
NextFrame次のフレームで値を発行して完了する
Yield次のタイムステップで値を発行して完了する
YieldFrame次のフレームで値を発行して完了する

イベント・非同期

API概要
FromEvent.NET イベントを Observable に変換する
FromEventHandlerEventHandler ベースのイベントを Observable に変換する
FromAsync非同期ファクトリ関数から Observable を生成する
Createカスタムの Observable を生成する
CreateFromIAsyncEnumerable ファクトリから Observable を生成する
Defer購読時に Observable を遅延生成する
rawObserver一部 API の Observer wrapper の有無を切り替える低レベルオプション
EveryValueChangedプロパティの値変化を監視する
ObservePropertyChangedINotifyPropertyChanged による変更通知を Observable にする
ObservePropertyChangingINotifyPropertyChanging による変更前通知を Observable にする

Unity

API概要
UnityEvent.AsObservableUnityEvent を Observable に変換する
uGUI eventsButton / Toggle / Slider / InputField などの UI イベントを Observable に変換する
TextMeshPro eventsTMP_InputField / TMP_Dropdown のイベントを Observable に変換する
Lifecycle triggersOnDestroy / OnEnable / OnDisable を Observable に変換する
Update triggersUpdate / FixedUpdate / LateUpdate を Observable に変換する
Physics triggersCollision / Trigger 系コールバックを Observable に変換する
EventSystem triggersUnity EventSystem のイベントを Observable に変換する
XR Interaction Toolkit eventsXRBaseInteractable のイベントを Observable に変換する
Unity providersUnityFrameProvider / UnityTimeProvider の概要

合成

API概要
CombineLatest各ソースの最新値を組み合わせる
Merge複数ソースの値をそのまま合流する
Concat複数ソースを順番に連結する
Zip各ソースの値を順序で組み合わせる
ZipLatest各ソースの最新値を順序で組み合わせる
Race最も早く値を発行したソースのみ購読する

特殊

API概要
Empty値を発行せず即座に完了する
Never値を発行せず完了もしない
Throw即座にエラーを発行する