void Start() { resetEvent.OnResetAsObservable() .Subscribe(_ => { lastActive = false; transform.localPosition = Vector3.zero; }) .AddTo(this); }
void Start() { var moveOrSwitch = Moving.IsMovingAsObservable().CombineLatest(SwitchMove.IsSwitchingAsObservable(), (m, s) => m || s); Drag.MoveAsObservable() .WithLatestFrom(moveOrSwitch, (v, moving) => (v, moving)) .Subscribe(t => AddOffset(t.v, t.moving)).AddTo(this); ResetEvent.OnResetAsObservable() .Subscribe(_ => transform.localPosition = Vector3.zero) .AddTo(this); }
void Start() { Left.MovesAsObservable() .Where(_ => useRotate.isOn) .SelectMany(move => MoveToRotateAsObservable(move)) .Subscribe() .AddTo(this); ResetEvent.OnResetAsObservable().Subscribe(_ => { transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; }).AddTo(this); }