Esempio n. 1
0
    IEnumerator ShowExpChange(int Desier)
    {
        float speed = 1;// (Desier - exp)/3;

showChange:
        Debug.Log(level);
        //ExperienceSlider.fillAmount = 0;

        while (exp < Desier)
        {
            exp++;
            if (exp > _nextxp)
            {
                level++;
                _prexp  = _nextxp;
                _nextxp = BrExpManager.CalXp(level);
                exp--;
                LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true);
                ExperienceSlider.fillAmount = 0;
                goto showChange;
            }
            float amount = (float)(exp - _prexp) / (_nextxp - _prexp);

            ExperienceSlider.fillAmount = amount;// / speed;
            yield return(null);
            //yield return ChangeSlider(speed,amount);
        }
    }
    public void ShowMainStats(Statistics stats)
    {
        int level = BrExpManager.CalLevel(stats.Experience);

        if (LevelText != null)
        {
            LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true);
        }
        if (WinCounText != null)
        {
            WinCounText.text = stats.TotalWins.ToString();
        }
        if (KillCountText != null)
        {
            KillCountText.text = stats.TotalKills.ToString();
        }
        int preXp  = BrExpManager.CalXp(level);
        int nextXp = BrExpManager.CalXp(level + 1);

        LevelProgressImage.fillAmount =
            (float)
            (stats.Experience - preXp) /
            (nextXp - preXp);

        LevelProgressText.text = string.Format(
            "{0}/{1}",
            PersianFixer.Fix((stats.Experience - preXp).ToString(), true, true),
            PersianFixer.Fix((nextXp - preXp).ToString(), true, true));
    }
Esempio n. 3
0
    private void OnEnable()
    {
        var profileManager = ProfileManager.Instance();

        Statistics stat = profileManager.PlayerProfile.PlayerStat;

        level   = BrExpManager.CalLevel(stat.Experience);
        exp     = stat.Experience;
        _prexp  = (level > 0) ? BrExpManager.CalXp(level - 1) : 0;
        _nextxp = BrExpManager.CalXp(level);

        Debug.Log(string.Format("Level : {0} \n start XP : {1} \n Current Level : {2} \n Next Level: {3}", level, exp, _prexp, _nextxp));

        float percentXp = (float)(exp - _prexp) / (_nextxp - _prexp);

        ExperienceSlider.fillAmount = percentXp;
        LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true);
        int newXP = addedXp + exp;

        StartCoroutine(ShowExpChange(newXP));
        stat.Experience = newXP;
        //stat.Level = BrExpManager.CalLevel(newXP);
        profileManager.PlayerProfile.PlayerStat = stat;
        profileManager.SaveProfile();
    }
Esempio n. 4
0
    private void SetSlider()
    {
        int   xp    = ProfileManager.Instance().PlayerProfile.PlayerStat.Experience;
        int   level = BrExpManager.CalLevel(xp);
        int   cuExp = BrExpManager.CalXp(level);
        int   nEXP  = BrExpManager.CalXp(level + 1);
        int   last  = BrExpManager.CalXp(20);
        float sl    = 0;
        int   count = 0;

        slider.maxValue = 0;
        for (int i = 0; i < RewardsList.LevelRewards.Count; i++)
        {
            count           += RewardsList.LevelRewards[i].BattlePassReward.Count;
            slider.maxValue += 0.5f;
        }

        slider.maxValue += count;

        for (int i = 0; i < level; i++)
        {
            sl += RewardsList.LevelRewards[i].BattlePassReward.Count + 0.5f;
        }
        float sl2 = 0;

        for (int i = 0; i < level + 1; i++)
        {
            sl2 += RewardsList.LevelRewards[i].BattlePassReward.Count + 0.5f;
        }

        float levelLength = sl2 - sl;

        sl += ((float)(xp - cuExp) / (nEXP - cuExp)) * (levelLength);
        //sl += (level)/ (2f * count);

        slider.value    = sl;
        sessionProgress = sl;
    }