ファクトリメソッド一覧
R3 が提供するファクトリメソッド(Observable の静的メソッドおよび拡張メソッド)を目的別に分類しています。
カテゴリ
| カテゴリ | 概要 | 主な API |
|---|---|---|
| 値の生成 | 単一値・シーケンスの生成、既存型からの変換 | Return, Range, ToObservable など |
| 時間ベース | 時間・フレーム駆動のシーケンス生成 | Timer, Interval, EveryUpdate など |
| イベント・非同期 | イベント・非同期処理・カスタムソースの生成 | FromEvent, Create, EveryValueChanged など |
| Unity | UnityEvent、uGUI、TextMeshPro、XR、MonoBehaviour コールバックの変換 | UnityEvent.AsObservable, uGUI events, Update triggers など |
| 合成 | 複数の Observable を組み合わせて生成 | Merge, Concat, Zip など |
| 特殊 | 特殊なシーケンスの生成 | Empty, Never, Throw |
値の生成
| API | 概要 |
|---|---|
| Return | 単一の値を発行して完了する |
| ReturnUnit | Unit 値を発行して完了する(最適化版) |
| ReturnFrame | 次のフレームで単一の値を発行して完了する |
| ReturnOnCompleted | 値を発行せず、指定した Result で完了する |
| Range | 連続する整数シーケンスを発行する |
| Repeat | 同じ値を指定回数繰り返し発行する |
| ToObservable | Task / IEnumerable / IAsyncEnumerable / IObservable を Observable に変換する |
時間ベース
| API | 概要 |
|---|---|
| Timer | 指定時間後に値を発行する(繰り返しも可) |
| TimerFrame | 指定フレーム後に値を発行する(繰り返しも可) |
| Interval | 一定間隔で値を繰り返し発行する |
| IntervalFrame | 一定フレーム間隔で値を繰り返し発行する |
| EveryUpdate | 毎フレーム値を発行する |
| NextFrame | 次のフレームで値を発行して完了する |
| Yield | 次のタイムステップで値を発行して完了する |
| YieldFrame | 次のフレームで値を発行して完了する |
イベント・非同期
| API | 概要 |
|---|---|
| FromEvent | .NET イベントを Observable に変換する |
| FromEventHandler | EventHandler ベースのイベントを Observable に変換する |
| FromAsync | 非同期ファクトリ関数から Observable を生成する |
| Create | カスタムの Observable を生成する |
| CreateFrom | IAsyncEnumerable ファクトリから Observable を生成する |
| Defer | 購読時に Observable を遅延生成する |
| rawObserver | 一部 API の Observer wrapper の有無を切り替える低レベルオプション |
| EveryValueChanged | プロパティの値変化を監視する |
| ObservePropertyChanged | INotifyPropertyChanged による変更通知を Observable にする |
| ObservePropertyChanging | INotifyPropertyChanging による変更前通知を Observable にする |
Unity
| API | 概要 |
|---|---|
| UnityEvent.AsObservable | UnityEvent を Observable に変換する |
| uGUI events | Button / Toggle / Slider / InputField などの UI イベントを Observable に変換する |
| TextMeshPro events | TMP_InputField / TMP_Dropdown のイベントを Observable に変換する |
| Lifecycle triggers | OnDestroy / OnEnable / OnDisable を Observable に変換する |
| Update triggers | Update / FixedUpdate / LateUpdate を Observable に変換する |
| Physics triggers | Collision / Trigger 系コールバックを Observable に変換する |
| EventSystem triggers | Unity EventSystem のイベントを Observable に変換する |
| XR Interaction Toolkit events | XRBaseInteractable のイベントを Observable に変換する |
| Unity providers | UnityFrameProvider / UnityTimeProvider の概要 |
合成
| API | 概要 |
|---|---|
| CombineLatest | 各ソースの最新値を組み合わせる |
| Merge | 複数ソースの値をそのまま合流する |
| Concat | 複数ソースを順番に連結する |
| Zip | 各ソースの値を順序で組み合わせる |
| ZipLatest | 各ソースの最新値を順序で組み合わせる |
| Race | 最も早く値を発行したソースのみ購読する |
特殊
| API | 概要 |
|---|---|
| Empty | 値を発行せず即座に完了する |
| Never | 値を発行せず完了もしない |
| Throw | 即座にエラーを発行する |