private void Start() { var token = this.GetCancellationTokenOnDestroy(); menuRectTransform = pauseMenu.GetComponent <RectTransform>(); pauseMenu.SetActive(false); pauseButton .OnClickAsObservable() .Where(_ => !pauseMenuManager.IsPause.Value) .Do(_ => pauseMenuManager.SetIsPaused(true)) .Subscribe(_ => ActiveMenuAnimation(true, token).ToObservable()) .AddTo(this); homeButton .OnClickAsObservable() .Subscribe(_ => pauseMenuManager.MoveToSelectMenuScene(true)) .AddTo(this); restartButton .OnClickAsObservable() .Subscribe(_ => pauseMenuManager.MoveToPuzzleScene()) .AddTo(this); playButton .OnClickAsObservable() .Do(_ => pauseMenuManager.SetIsPaused(false)) .Subscribe(_ => ActiveMenuAnimation(false, token).ToObservable()) .AddTo(this); }