Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 private void Update()
 {
     GetComponent <Text>().text = String.Format("{0}", experience.GetExp());
 }