Beispiel #1
0
        public void AddCoins(int amount, bool silent = false)
        {
            //Adds coins + displays coins pop-up if not silent
            CurrentCoins += amount;
            if (!silent)
            {
                var     position = transform.position;
                Vector3 popupPos = new Vector3(position.x, position.y - 3f, position.z);
                PointsPopup.Create(popupPos, amount, true);
            }

            if (CurrentCoins < 0)
            {
                CurrentCoins = 0;
            }
        }
Beispiel #2
0
        public static PointsPopup Create(Vector3 position, int amount, bool coins = false)
        {
            //static class to spawn a points pop-up
            if (amount != 0)
            {
                GameObject pointsPopupObject =
                    Instantiate(GameMode.instance.pointsPopup, position, Quaternion.identity);

                PointsPopup pointsPopup = pointsPopupObject.GetComponent <PointsPopup>();
                pointsPopup.Setup(amount, coins);

                return(pointsPopup);
            }

            return(null);
        }
Beispiel #3
0
        public static PointsPopup CreateTextPopup(Vector3 position, string message, Color color)
        {
            //static class to display text pop-up
            if (message != "")
            {
                GameObject pointsPopupObject =
                    Instantiate(GameMode.instance.pointsPopup, position, Quaternion.identity);

                PointsPopup pointsPopup = pointsPopupObject.GetComponent <PointsPopup>();
                pointsPopup.MessageSetup(message, color);

                return(pointsPopup);
            }

            return(null);
        }
Beispiel #4
0
        public void AddPoints(int amount, bool silent = false)
        {
            //Add points to the score + calculates the multiplier + displays the points pop-up
            int multiplier = (_scoreMultiplier == 0) ? _scoreMultiplier + 1 : _scoreMultiplier;

            CurrentScore += amount * multiplier;
            if (!silent)
            {
                PointsPopup.Create(transform.position, amount * multiplier);
            }
            if (CurrentScore < 0)
            {
                CurrentScore = 0;
            }

            //Increments the score multiplier if the duration coroutine, is this running
            if (_scoreMultiplier == 0)
            {
                _scoreMultiplier++;
            }
            else if (_scoreMultiplier == GameMode.instance.maxMultiplier)
            {
                if (_multiplierDurationCoroutine != null)
                {
                    StopCoroutine(_multiplierDurationCoroutine);
                }
            }
            else
            {
                _scoreMultiplier++;
                if (_multiplierDurationCoroutine != null)
                {
                    StopCoroutine(_multiplierDurationCoroutine);
                }
            }

            UpdateScoreText();
            UpdateMultiplierText();
            _multiplierDurationCoroutine = StartCoroutine(MultiplierCountdown());
        }