private static WearGrowth[] GetWearGrowthLookup(GrowthStandartWear std) { switch (std) { case GrowthStandartWear.Men: return LookupSizes.MenGrowth; case GrowthStandartWear.Women: return LookupSizes.WomenGrowth; case GrowthStandartWear.Universal: return LookupSizes.UniversalGrowth; default: return null; } }
public static List<SizePair> MatchGrow(GrowthStandartWear[] stds, string grow, SizeUsePlace place) { var result = new List<SizePair>(); foreach(var std in stds) { foreach(var lookupGrow in SizeHelper.GetWearGrowthLookup(std)) { if (lookupGrow.Use == SizeUse.СlothesOnly && place == SizeUsePlace.Human) continue; if (lookupGrow.Use == SizeUse.HumanOnly && place == SizeUsePlace.Сlothes) continue; if (lookupGrow.Appropriated.Contains(grow)) result.Add(new SizePair(SizeHelper.GetSizeStdCode(std), lookupGrow.Name)); } } return result; }