コード例 #1
0
        private IEnumerator DoScoring()
        {
            WaitForSeconds betweenScoringDelay = new WaitForSeconds(kBetweenScoringDelay);

            while (PlayerScores.HasPendingScores)
            {
                AudioConstants.Instance.ScoreAdded.PlaySFX();
                PlayerScores.StepConvertPendingScoresToScores();

                if (!PlayerScores.HasPendingScores || PlayerScores.HasWinner)
                {
                    break;
                }

                yield return(betweenScoringDelay);
            }

            if (PlayerScores.HasWinner)
            {
                GameNotifications.OnGameWon.Invoke();
                AudioConstants.Instance.Win.PlaySFX(randomPitchRange: 0.0f);
            }

            yield return(new WaitForSeconds(kEndScoringDelay));

            transition_.AnimateOut(() => {
                Finish();
            });
        }
コード例 #2
0
ファイル: Hint.cs プロジェクト: shuaibimran/laserbeak
        private void HideImmediate(Action callback = null)
        {
            if (!showing_)
            {
                return;
            }

            transition_.AnimateOut(() => {
                showing_ = false;
                if (callback != null)
                {
                    callback.Invoke();
                }
            });
        }
コード例 #3
0
        private void RefreshControlsTab()
        {
            bool show = AtLeastOnePlayerReady;

            if (show == controlsTabShowing_)
            {
                return;
            }

            if (!controlsContainer_.activeSelf)
            {
                controlsContainer_.SetActive(true);
            }

            controlsTabShowing_ = show;
            if (controlsTabShowing_)
            {
                controlsTransition_.AnimateIn();
            }
            else
            {
                controlsTransition_.AnimateOut();
            }
        }
コード例 #4
0
        private void LeavePlayerCustomization()
        {
            // unregister all players who aren't ready
            foreach (IndividualPlayerCustomizationView view in views_.Where(v => !v.IsReady))
            {
                RegisteredPlayers.Remove(view.Player);
            }

            viewTransition_.AnimateOut(() => {
                if (continueCallback_ != null)
                {
                    continueCallback_.Invoke();
                    continueCallback_ = null;
                }
            });
            controlsTransition_.AnimateOut();
            AnimateOutReadyToFight();
        }
コード例 #5
0
        private void CheckIfAllPlayersReady()
        {
            // if not all ready
            if (views_.Any(v => !v.Ready))
            {
                return;
            }

            // animation would go here I think
            transition_.AnimateOut(() => {
                if (allPlayersReadyCallback_ != null)
                {
                    allPlayersReadyCallback_.Invoke();
                    allPlayersReadyCallback_ = null;
                }

                ObjectPoolManager.Recycle(this);
            });
        }
コード例 #6
0
 private void AnimateOutReadyToFight()
 {
     readyToFightTransition_.AnimateOut();
 }