public static List <BasePart> GetAllTierParts(BasePart.PartTier tier, PartFlags flags = CustomizationManager.PartFlags.None) { List <BasePart> list = new List <BasePart>(); if (tier == BasePart.PartTier.Regular) { for (int i = 0; i < WPFMonoBehaviour.gameData.m_parts.Count; i++) { if (flags == CustomizationManager.PartFlags.None) { list.Add(WPFMonoBehaviour.gameData.m_parts[i].GetComponent <BasePart>()); } } } else { List <CustomPartInfo> customParts = WPFMonoBehaviour.gameData.m_customParts; for (int j = 0; j < customParts.Count; j++) { if (customParts[j] != null && customParts[j].PartList != null && customParts[j].PartList.Count != 0) { for (int k = 0; k < customParts[j].PartList.Count; k++) { if (customParts[j].PartList[k].m_partTier == tier && CustomizationManager.HasPartFlags(customParts[j].PartList[k], flags)) { list.Add(customParts[j].PartList[k]); } } } } } return(list); }
public static int CustomizationCount(BasePart.PartTier tier, PartFlags flags = CustomizationManager.PartFlags.None) { int num = 0; List <CustomPartInfo> customParts = WPFMonoBehaviour.gameData.m_customParts; for (int i = 0; i < customParts.Count; i++) { if (customParts[i] != null && customParts[i].PartList != null && customParts[i].PartList.Count != 0) { for (int j = 0; j < customParts[i].PartList.Count; j++) { if (customParts[i].PartList[j].m_partTier == tier && CustomizationManager.HasPartFlags(customParts[i].PartList[j], flags)) { num++; } } } } return(num); }