|
|
(同じ利用者による、間の18版が非表示) |
行1: |
行1: |
− | ==値変更検知の方法==
| + | [[Unity/UniRx/値変更検知/方法]] |
− | ReactivePropertyでもできるが、ObserveEveryValueChangedを、使ったサンプルを紹介。ちなみに、ObserveEveryValueChangedのほうが、コードが、わかりやすい。
| + | |
| | | |
− | 参考:https://nekogeek.jp/reactive-property-vs-observe-every-value-changed/
| + | [[Unity/UniRx/値変更検知/ObserveEveryValueChanged]] |
| | | |
− | ==値変更検知サンプル==
| + | [[Unity/UniRx/値変更検知/ReactiveProperty]] |
− | IsCompletedが、trueになったときに、検知。
| + | |
| | | |
− | 詳しくは、1フレーム内で発生した複数回の変動は検知できず、前フレームと今フレームの変化のみ検知できるっぽい。
| + | [[Unity/UniRx/値変更検知/配列]] |
| | | |
− | 参考:https://qiita.com/toRisouP/items/d0d32cf674a00f3a8427
| + | [[Unity/UniRx/値変更検知/ObserveEveryValueChanged配列]] |
| | | |
− | <pre>
| + | [[Unity/UniRx/値変更検知/配列数]] |
− | sampleClient.ObserveEveryValueChanged(x => x.IsCompleted)
| + | |
− | .Subscribe(isCompleted =>
| + | |
− | {
| + | |
− | // 値が変更が入ると処理される
| + | |
− | if (!isCompleted) return;
| + | |
− | Debug.Log("isCompleted=" + isCompleted);
| + | |
− | Debug.Log("sampleClient.Url=" + sampleClient.Url);
| + | |
− | })
| + | |
− | .AddTo(gameObject);
| + | |
− | </pre>
| + | |
− | | + | |
− | ==全体サンプル==
| + | |
− | <pre>
| + | |
− | using UnityEngine;
| + | |
− | using UniRx;
| + | |
− | | + | |
− | public class ChangeValueScene : MonoBehaviour
| + | |
− | {
| + | |
− | class SampleClient
| + | |
− | {
| + | |
− | public bool IsCompleted = false;
| + | |
− | public string Url = "ttp://example.com";
| + | |
− | public void Request()
| + | |
− | {
| + | |
− | IsCompleted = true;
| + | |
− | }
| + | |
− | }
| + | |
− | void Start()
| + | |
− | {
| + | |
− | var sampleClient = new SampleClient();
| + | |
− | sampleClient.Request();
| + | |
− | sampleClient.ObserveEveryValueChanged(x => x.IsCompleted)
| + | |
− | .Subscribe(isCompleted =>
| + | |
− | {
| + | |
− | // 値が変更が入ると処理される
| + | |
− | if (!isCompleted) return;
| + | |
− | Debug.Log("isCompleted=" + isCompleted);
| + | |
− | Debug.Log("sampleClient.Url=" + sampleClient.Url);
| + | |
− | })
| + | |
− | .AddTo(gameObject);
| + | |
− | }
| + | |
− | }
| + | |
− | </pre>
| + | |
2023年6月25日 (日) 15:48時点における最新版
Unity/UniRx/値変更検知/方法
Unity/UniRx/値変更検知/ObserveEveryValueChanged
Unity/UniRx/値変更検知/ReactiveProperty
Unity/UniRx/値変更検知/配列
Unity/UniRx/値変更検知/ObserveEveryValueChanged配列
Unity/UniRx/値変更検知/配列数