/// <summary> /// Bind RaectiveCommand to button's interactable and onClick and register onClick action to command. /// </summary> public static IDisposable BindToOnClick(this ReactiveCommand <Unit> command, UnityEngine.UI.Button button, Action <Unit> onClick) { IDisposable d1 = command.CanExecute.SubscribeToInteractable(button); IDisposable d2 = button.OnClickAsObservable().SubscribeWithState(command, (x, c) => c.Execute(x)); IDisposable d3 = command.Subscribe(onClick); return(StableCompositeDisposable.Create(d1, d2, d3)); }
public void OnClick(UniRx.ReactiveCommand cmd) { var g = gObject; var sub = cmd.Subscribe((u) => { g.onClick.Add(() => cmd.Execute()); }); uiBase.AddDisposable(sub); }
public static IDisposable BindToOnClick(this ReactiveCommand <Unit> command, Button button, Action <Unit> onClick) { IDisposable disposable = command.CanExecute.SubscribeToInteractable(button); IDisposable disposable2 = button.OnClickAsObservable().SubscribeWithState(command, delegate(Unit x, ReactiveCommand <Unit> c) { c.Execute(x); }); IDisposable disposable3 = command.Subscribe(onClick); return(StableCompositeDisposable.Create(disposable, disposable2, disposable3)); }
public static void SubScribe(this IUnirxBind gobjectSub, UniRx.ReactiveCommand cmd, System.Action <UniRx.Unit> onCmd) { var sub = cmd.Subscribe(onCmd); gobjectSub.GetUIBase().AddDisposable(sub); }