private void LevelUp()
    {
        CurrentExp -= ExpToNextLevel;
        CurrentExp  = Mathf.Max(0, CurrentExp);
        PartyLevel++;

        Party.ForEach(partyMember => partyMember.LevelUp());

        OnLevelUpEvent.Invoke();
    }
Exemplo n.º 2
0
 public void OnEventHandler(OnLevelUpEvent eventData)
 {
     if (eventData.PlayerNumber == playerNumHUD)
     {
         RectTransform rt = GetComponent <RectTransform>();
         rt.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, (rt.rect.width + 5));
         MaxHP           = eventData.Stats.MaxHealth;
         HealthBar.value = eventData.Stats.Health / MaxHP;
     }
 }
Exemplo n.º 3
0
 private void LevelUp()
 {
     currentLevel++;
     ui.SetLevelTo(currentLevel);
     ui.PlayLevelTextPopAnimation();
     currentXP = 0;
     ui.SetXP(0);
     currentMaxXP += xpConstant;
     ui.setMaxXP(currentMaxXP);
     XPParticles.Play();
     PlayLevelUpSound();
     OnLevelUpEvent?.Invoke(currentLevel);
 }
Exemplo n.º 4
0
        private void UpdateLevel(float currExperience)
        {
            int maxSupportedLevel = progression.GetMaxLevelSupported(Stat.ExperienceToNextLevel, CharacterClass.PLAYER);

            if (maxSupportedLevel <= Level)
            {
                // No action required
                return;
            }

            float expToNextLevel = progression.GetStat(Stat.ExperienceToNextLevel, CharacterClass.PLAYER, Level);

            if (expToNextLevel <= currExperience)
            {
                LevelUpEffect();
                levelSystem.LevelUp();
                OnLevelUpEvent?.Invoke();
            }
        }