private IEnumerator ChangeClass()
    {
        lockControls.value = true;
        LevelGain level = gains[classList.GetPosition()];

        yield return(new WaitForSeconds(1f * currentGameSpeed.value));

        StatsContainer     stats     = playerData.stats[entryList.GetPosition()];
        InventoryContainer inventory = playerData.inventory[entryList.GetPosition()];
        SkillsContainer    skills    = playerData.skills[entryList.GetPosition()];

        levelupScript.SetupStats(stats, false);
        Debug.Log("CLASS CHANGE!");
        stats.ClassGain(level, (int)level.playerClassName);
        inventory.IncreaseWpnSkill(level.weaponSkills);
        skills.GainSkill(level.skill);

        sfxQueue.Enqueue(levelupFanfare);
        playSfxEvent.Invoke();
        popupMode = true;
        yield return(StartCoroutine(levelupScript.RunLevelup(stats)));

        popupMode = false;

        CreateListEntries();
        DeselectCharacter();
        lockControls.value = false;
        yield break;
    }