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; } }
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); }
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); }
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()); }