private void SetupActiveAbilityHolders() { UpgradeMenuActiveAbilityHolder[] abilities = { activeAbilityHolder1, activeAbilityHolder2, activeAbilityHolder3, activeAbilityHolder4, activeAbilityHolder5 }; List <UpgradeMenuActiveAbilityHolder> abilityHolders = new List <UpgradeMenuActiveAbilityHolder>(); abilityHolders.AddRange(abilities); int counter = 0; HackerMod hackerMod = item as HackerMod; foreach (UpgradeMenuActiveAbilityHolder abilityHolder in abilityHolders) { counter++; // start off with #1 string abilityDescription = ""; int abilityUses = 0; bool isCurrentLevel = false; if (counter == hackerMod.GetCurrentItemLevel()) { isCurrentLevel = true; } switch (counter) { case 1: abilityDescription = hackerMod.GetLevelOneItemAbilityDescription(); abilityUses = hackerMod.GetLevel1AbilityUses(); break; case 2: abilityDescription = hackerMod.GetLevelTwoItemAbilityDescription(); abilityUses = hackerMod.GetLevel2AbilityUses(); break; case 3: abilityDescription = hackerMod.GetLevelThreeItemAbilityDescription(); abilityUses = hackerMod.GetLevel3AbilityUses(); break; case 4: abilityDescription = hackerMod.GetLevelFourItemAbilityDescription(); abilityUses = hackerMod.GetLevel4AbilityUses(); break; case 5: abilityDescription = hackerMod.GetLevelFiveItemAbilityDescription(); abilityUses = hackerMod.GetLevel5AbilityUses(); break; } string path = "Icons/ActiveAbilityIcons/Ability" + hackerMod.GetActiveAbilityId().ToString(); Sprite hackerAbilityIcon = Resources.Load <Sprite>(path); abilityHolder.SetupAbilityHolder(hackerAbilityIcon, item.GetCurrentItemLevel(), counter, isCurrentLevel, abilityDescription, abilityUses); } }