質問させて頂きます。
UniRxを使い始めたばかりで、初歩的な事かもしれませんがお願いします。
前提・実現したいこと
UniRxで、変数の代入(同値の場合でも)を検知するシンプルな書き方があれば知りたいです。
ReactiveProperty
やObserveEveryValueChanged
は変数の代入後に同値だった場合は通知されないようでした。
具体的にやりたい事は、「変数に値が代入されたときに特定の処理を実行したい」です。
プロパティで書くと下記のような処理です。
c#
1MenuType type; 2MenuType Type { get { return type; } set { type = value; OnChangeMenuType(); } } 3 4// MenuType変更時に呼び出す関数 5void OnChangeMenuType(){ ... }
上記のようにプロパティで実現は出来るのですが、
- クラス内でtype変数に直接代入されると検知出来ない
- 作成中のプロジェクトで検知処理は基本的にUniRxを利用していて、出来れば統一したい
という理由があり、UniRxでシンプルに書けないかな、と思った次第です。
ReactiveProperty
クラスを参考に、Valueのset時に同値の場合でも通知するクラスを自作すれば出来そうではあるのですが、今までUniRxを触った感じ自作せずともシンプルに書けるやり方があったりするのでは、と思い質問させて頂きました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/10 13:58 編集