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