public void LevelProcessing() { if (experience == null) { return; } var maxLevel = progression.GetMaxLevel(Stat.ExperienceRequired, characterClass); if (maxLevel == level) { return; } float currentXP = experience.GetExp(); while (level != maxLevel) { var requiredXp = GetStat(Stat.ExperienceRequired); if (currentXP - requiredXp >= 0) { currentXP -= requiredXp; LevelUp(); } else { break; } } }
private int CalculateLevel() { Experience experience = GetComponent <Experience>(); if (experience == null) { return(startinglevel); } float currentXP = experience.GetExp(); int maxLevel = progression.GetLevels(Stat.ExpToLevelUp, charactorClass); for (int level = 1; level <= maxLevel; level++) { float XPToLevelUp = progression.GetStat(Stat.ExpToLevelUp, charactorClass, level); if (XPToLevelUp > currentXP) { return(level); } } return(maxLevel + 1); }
private void Update() { GetComponent <Text>().text = String.Format("{0}", experience.GetExp()); }