「Unity/UniRx/値変更検知/配列数」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「<pre> using System.Collections; using System.Collections.Generic; using UnityEngine; using UniRx; using System; public class ChangeValueListCountScene : MonoBehaviour {...」) |
|||
行43: | 行43: | ||
{ | { | ||
var sampleClient = new SampleClient(); | var sampleClient = new SampleClient(); | ||
− | sampleClient.RequestDatas.ObserveEveryValueChanged( | + | sampleClient.RequestDatas.ObserveEveryValueChanged(x => x.Count) |
.Subscribe(count => | .Subscribe(count => | ||
{ | { |
2025年1月23日 (木) 16:50時点における最新版
using System.Collections; using System.Collections.Generic; using UnityEngine; using UniRx; using System; public class ChangeValueListCountScene : MonoBehaviour { class RequestData { public string Url; public bool IsCompleted; } class SampleClient { List<RequestData> requestDatas; public List<RequestData> RequestDatas { get => requestDatas; set => requestDatas = value; } public SampleClient() { requestDatas = new List<RequestData>(); requestDatas.Add(new RequestData { Url = "ttp://example.com", IsCompleted = false, }); requestDatas.Add(new RequestData { Url = "ttp://example2.com", IsCompleted = false, }); } public void Add() { requestDatas.Add(new RequestData { Url = "ttp://example3.com", IsCompleted = false, }); } } void Start() { var sampleClient = new SampleClient(); sampleClient.RequestDatas.ObserveEveryValueChanged(x => x.Count) .Subscribe(count => { Debug.Log("count=" + count); }).AddTo(gameObject); // 5秒後に遅延実行 Observable.Timer(System.TimeSpan.FromSeconds(5)) .Subscribe(_ => { sampleClient.Add(); }).AddTo(gameObject); } }