Level Up Stats

Hi everybody ! Sorry aboput my english i’m french ^^

I’m using a method to add experience to my player and Level up, but if on the start i want to load more experience, my character level up just one level, and not the level equal to the total of load experience

I know that in my method (level up) i put : if level up( currentlvl ++)
So it just level up once

How can i do to to load the good level when i load experience ?

here my code :

 public void AddExperience(int experienceToAdd)
    {


        CurrentXP += experienceToAdd;
        xpbar += experienceToAdd;
  
        if (CurrentXP >= toLevelUp[currentLevel]) // UP
        {
            LevelUP();
            levelText.text = "Lvl:  " + currentLevel;
        }


         XPText.text = "XP : " + xpbar + "/" + (toLevelUp[currentLevel] - (toLevelUp[currentLevel - 1]));
         XPBar.maxValue = toLevelUp[currentLevel] - (toLevelUp[currentLevel - 1]);
         XPBar.value = xpbar;

        //sendxp.SendToServer();
    }
 public void LevelUP()
    {


            currentLevel++;

            currentHP = HPLevels[currentLevel];

            //GameObject.fin.GetComponent<PlayerHealth>().playerHealth = currentHP;

           // transform.root.GetComponent<PlayerHealth>().currentPlayerHealth += currentHP - HPLevels[currentLevel] - 1;

            currentAttack = attackLevels[currentLevel];
            currentDefence = defenceLevels[currentLevel];
            xpbar = 0;
            CalcStats();

      
    }

Thanks for reading me and have a good day !

You could do something like this:

// 1 bool to check if any level up at all.
bool leveledUp = false;
if(CurrentXP >= toLevelUp[currentLevel]) leveledUp = true;
// this loop will keep going, so long as you can level up, but won't calculate stats until afterwards (in case you have more than 1 level.. it wouldn't really make sense to calculate them, to just change them right away..
while (CurrentXP >= toLevelUp[currentLevel] && currentLevel < maxLevel) // prevent overshooting beyond the max.
   currentLevel++;
if(leveledUp) {
   LevelUP();
   levelText.text = "Lvl:  " + currentLevel;
}