「Unity/UniRx/値変更検知」の版間の差分
提供: 初心者エンジニアの簡易メモ
行1: | 行1: | ||
+ | ==値変更検知サンプル== | ||
IsCompletedが、trueになったときに、検知 | IsCompletedが、trueになったときに、検知 | ||
<pre> | <pre> | ||
− | + | sampleClient.ObserveEveryValueChanged(x => x.IsCompleted) | |
− | + | .Subscribe(isCompleted => | |
− | + | { | |
− | + | // 値が変更が入ると処理される | |
− | + | if (!isCompleted) return; | |
− | + | Debug.Log("isCompleted=" + isCompleted); | |
− | + | Debug.Log("sampleClient.Url=" + sampleClient.Url); | |
− | .AddTo(gameObject); | + | }) |
+ | .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> | </pre> |
2022年2月16日 (水) 21:06時点における版
値変更検知サンプル
IsCompletedが、trueになったときに、検知
sampleClient.ObserveEveryValueChanged(x => x.IsCompleted) .Subscribe(isCompleted => { // 値が変更が入ると処理される if (!isCompleted) return; Debug.Log("isCompleted=" + isCompleted); Debug.Log("sampleClient.Url=" + sampleClient.Url); }) .AddTo(gameObject);
全体サンプル
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); } }