private void Sample13() { var hp = new ReactiveProperty <float>(1.0f); var gauge = new ReactiveProperty <float>(1.0f); slider1.OnValueChangedAsObservable().Subscribe(x => hp.Value = x); hp .Select(x => Anime.Play(gauge.Value, x, Easing.OutCubic(1f))) .Switch() .Subscribe(x => gauge.Value = x); gauge.Subscribe(x => { slider2.value = x; }); Anime.Sleep(0f) .DoOnCompleted(() => slider1.value = 0.3f) .Sleep(1f) .DoOnCompleted(() => slider1.value = 0.8f) .Sleep(1f) .DoOnCompleted(() => slider1.value = 0.0f) .Sleep(0.5f) .DoOnCompleted(() => slider1.value = 1.0f) .Subscribe(); }