public static void ActivatePreviousPrefabInPrefabCategory(PrefabCategory prefabCategory) { List <Prefab> filteredPrefabs = prefabCategory.GetFilteredPrefabs(); int prefabIndex = prefabCategory.GetPrefabIndex(prefabCategory.ActivePrefab) - 1; if (prefabIndex < 0) { prefabIndex = prefabCategory.NumberOfPrefabs - 1; } while (prefabIndex >= 0) { Prefab newActivePrefab = prefabCategory.GetPrefabByIndex(prefabIndex); if (filteredPrefabs.Contains(newActivePrefab)) { prefabCategory.SetActivePrefab(newActivePrefab); return; } --prefabIndex; } prefabCategory.SetActivePrefab(null); }