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); }
private async UniTaskVoid Start() { resultMenu.SetActive(false); resultMenuRectTransform = resultMenu.GetComponent <RectTransform>(); homeButton .OnClickAsObservable() .Subscribe(_ => pauseMenuManager.MoveToSelectMenuScene(false)) .AddTo(this); restartButton .OnClickAsObservable() .Subscribe(_ => pauseMenuManager.MoveToPuzzleScene()) .AddTo(this); await gameStateManager.CurrentGameState.Where(x => x == GameState.Result).FirstOrDefault(); resultMenu.SetActive(true); resultMenuRectTransform.localScale = resultMenuRectTransform.localScale.SetY(0f); await resultMenuRectTransform.DOScaleY(1f, 0.2f).ToAwaiter(this.GetCancellationTokenOnDestroy()); bestScoreText.text = "best: " + scoreManager.BestScore.Value; scoreText.text = "score: " + scoreManager.CurrentScore.Value; naichilab.RankingLoader.Instance.SendScoreAndShowRanking(scoreManager.CurrentScore.Value, (int)gameInfo.ModeType); }