예제 #1
0
    void CalculateXpGiven()
    {
        int playerLevel = PlayerPrefs.GetInt("Level");
        int currentXp   = PlayerPrefs.GetInt("CurrentXP");
        int xpToGain;

        if (playerLevel <= Level)
        {
            xpToGain   = (_xpWorth + (Level * 10));
            currentXp += xpToGain;
        }
        else if (playerLevel > Level && playerLevel - Level == 1)
        {
            xpToGain   = (_xpWorth / 2);
            currentXp += xpToGain;
        }
        else if (playerLevel > Level && playerLevel - Level == 2)
        {
            int modulatedNumber = _xpWorth % 3;
            int roundedXp       = _xpWorth - modulatedNumber;
            xpToGain   = (roundedXp / 3);
            currentXp += xpToGain;
        }
        else
        {
            return;
        }
        _uiScript.ShowXpGain(xpToGain);
        PlayerPrefs.SetInt("CurrentXP", currentXp);
        GameObject.FindGameObjectWithTag("Player").GetComponent <LevelUP>().CheckForLevelUp();
    }