private bool IsCatenaryProp(PropInfo prefab, CatenaryType type) { switch (type) { case CatenaryType.TrainDouble: return(CatenaryUtils.IsDoubleRailNormalCatenaryProp(prefab)); case CatenaryType.TrainSingle: return(CatenaryUtils.IsSingleRailNormalCatenaryProp(prefab)); case CatenaryType.TramPoleSide: return(CatenaryUtils.IsTramPoleSideProp(prefab)); case CatenaryType.TramPoleCenter: return(CatenaryUtils.IsTramPoleCenterProp(prefab)); default: return(false); } }
private List <PropInfo> GetAvailableCatenaries(CatenaryType type) { var catenaries = new List <PropInfo>(); var prefabCount = PrefabCollection <PropInfo> .LoadedCount(); for (uint prefabIndex = 0; prefabIndex < prefabCount; prefabIndex++) { var prefab = PrefabCollection <PropInfo> .GetLoaded(prefabIndex); if (IsCatenaryProp(prefab, type) && CatenaryUtils.IsCatenaryPropVisibeInUI(prefab)) { catenaries.Add(prefab); } } catenaries.Sort((a, b) => string.Compare(a.GetUncheckedLocalizedTitle(), b.GetUncheckedLocalizedTitle(), StringComparison.Ordinal)); return(catenaries); }