Beispiel #1
0
 public void InitValue(IntCurrency fromCurrency)
 {
     TextToUpdate.text    = fromCurrency.Amount.ToString();
     TextToUpdate.color   = fromCurrency.Variable.IconColor;
     ImageToUpdate.sprite = fromCurrency.Variable.Icon;
     ImageToUpdate.color  = fromCurrency.Variable.IconColor;
 }
Beispiel #2
0
        public void ReturnToMap(bool victory)
        {
            if (victory)
            {
                var newScore = new IntCurrency
                {
                    Variable = _playerData.TotalScore.Variable,
                    Amount   = Score.Value
                };

                var diff = _playerData.SetOrAddScore(Configuration, newScore);

                int playerLevel = _playerData.PlayerLevel;

                _playerData.TotalScore.Amount += diff.Amount;

                while (_playerData.TotalScore.Amount >= _playerData.ScoreFormula.GetLevelRequirement(playerLevel))
                {
                    playerLevel++;
                }

                _playerData.PlayerLevel = playerLevel;
            }
            Time.timeScale = 1;
            GetComponent <UiLevel>().LoadLevel();
        }
Beispiel #3
0
        public IntCurrency SetOrAddScore(LevelConfiguration level, IntCurrency newScore)
        {
            if (TryGetLevel(level, out var levelScore))
            {
                int oldAmount = levelScore.HighestScore.Amount;
                int newAmount = newScore.Amount;

                if (newAmount > oldAmount)
                {
                    int diff = newAmount - oldAmount;
                    levelScore.HighestScore.Amount = newAmount;

                    return(new IntCurrency
                    {
                        Amount = diff,
                        Variable = newScore.Variable
                    });
                }
                else
                {
                    return(new IntCurrency
                    {
                        Amount = 0,
                        Variable = newScore.Variable
                    });
                }
            }
            else
            {
                CompletedLevels.Add(
                    new HighestScorePerLevel
                {
                    Level        = level,
                    HighestScore = newScore
                });
            }

            return(newScore);
        }