public override List <ITownUpgrade> GetUpgrades(string treeId, string code) { List <ITownUpgrade> townUpgrades = new List <ITownUpgrade>(); townUpgrades.AddRange(RosterSlotUpgrades.FindAll(item => item.UpgradeCode == code && item.TreeId == treeId).Cast <ITownUpgrade>()); townUpgrades.AddRange(RecruitSlotUpgrades.FindAll(item => item.UpgradeCode == code && item.TreeId == treeId).Cast <ITownUpgrade>()); townUpgrades.AddRange(RecruitExperienceUpgrades.FindAll(item => item.UpgradeCode == code && item.TreeId == treeId).Cast <ITownUpgrade>()); return(townUpgrades); }