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; }