facebook twitter hatena line email

「Unity/R3/UniRxから移植」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(IObservableをObservableへ)
(ReactiveCollectionをObservableListへ)
行47: 行47:
  
 
==ReactiveCollectionをObservableList<T>へ==
 
==ReactiveCollectionをObservableList<T>へ==
 +
// R3
 +
using ObservableCollections;
 +
private ObservableList<string> users = new ObservableList<string>();
 +
users
 +
    .ObserveAdd()
 +
    .Subscribe(value =>
 +
    {
 +
        Debug.Log($"[Add]Index={value.Index},Value={value.Value}");
 +
    });
 +
 +
// UniRx
 +
private ReactiveCollection<string> users = new ReactiveCollection<string>();
 +
users
 +
    .ObserveAdd()
 +
    .Subscribe(value =>
 +
    {
 +
        Debug.Log($"[Add]Index={value.Index},Value={value.Value}");
 +
    });
  
 
==ReactiveDictionaryをObservableDictionary<TKey, TValue>へ==
 
==ReactiveDictionaryをObservableDictionary<TKey, TValue>へ==

2024年4月2日 (火) 09:04時点における版

using置換

- using UniRx;
+ using R3;
- using UniRx.Triggers;
+ using R3.Triggers;
- using System;

参考:https://zenn.dev/tkada/articles/a96258e080056a

ObserveEveryValueChangedはEveryValueChangedへ

// UniRx
transform.ObserveEveryValueChanged(_ => _.Count).Subscribe(count => Debug.Log(count));

// R3
Observable.EveryValueChanged(transform, _ => _.Count)
     .Subscribe(count => Debug.Log(count));

参考:https://qiita.com/toRisouP/items/4344fbcba7b7e8d8ce16

Observable.Createの置換

// UniRx
IObservable<int> isCompletedsAsObservable = Observable.Create<int>(observer =>
            {
                return Disposable.Empty;
            });
// R3
Observable<int> isCompletedsAsObservable = Observable.Create<int>(observer =>
            {
                return Disposable.Empty;
            });

IObservableをObservableへ

// UniRx
ObservableCollision2DTrigger landTrigger;
IObservable<Collision2D> landOnCollisionEnterAsObservable = landTrigger.OnCollisionEnter2DAsObservable();

// R3
ObservableCollision2DTrigger landTrigger;
Observable<Collision2D> landOnCollisionEnterAsObservable = landTrigger.OnCollisionEnter2DAsObservable();

ReactiveCollectionをObservableList<T>へ

// R3 using ObservableCollections; private ObservableList<string> users = new ObservableList<string>(); users

   .ObserveAdd()
   .Subscribe(value =>
   {
       Debug.Log($"[Add]Index={value.Index},Value={value.Value}");
   });

// UniRx private ReactiveCollection<string> users = new ReactiveCollection<string>(); users

   .ObserveAdd()
   .Subscribe(value =>
   {
       Debug.Log($"[Add]Index={value.Index},Value={value.Value}");
   });

ReactiveDictionaryをObservableDictionary<TKey, TValue>へ