public static LevelInfo[] getLevels(ESingleplayerMapCategory categoryFilter) { List<LevelInfo> list = new List<LevelInfo>(); string[] folders = ReadWrite.getFolders("/Maps"); for (int i = 0; i < folders.Length; i++) { LevelInfo level = Level.getLevel(folders[i], false); if (level != null && !(level.name.ToLower() == "tutorial")) { if (Level.doesLevelPassFilter(level, categoryFilter)) { list.Add(level); } } } if (Provider.provider.workshopService.ugc != null) { for (int j = 0; j < Provider.provider.workshopService.ugc.Count; j++) { SteamContent steamContent = Provider.provider.workshopService.ugc[j]; if (steamContent.type == ESteamUGCType.MAP) { LevelInfo level2 = Level.getLevel(ReadWrite.folderFound(steamContent.path, false), false); if (level2 != null) { level2.isFromWorkshop = true; if (Level.doesLevelPassFilter(level2, categoryFilter)) { list.Add(level2); } } } } } else { string[] folders2 = ReadWrite.getFolders("/Bundles/Workshop/Maps"); for (int k = 0; k < folders2.Length; k++) { LevelInfo level3 = Level.getLevel(folders2[k], false); if (level3 != null) { level3.isFromWorkshop = true; if (Level.doesLevelPassFilter(level3, categoryFilter)) { list.Add(level3); } } } string[] folders3 = ReadWrite.getFolders(ServerSavedata.directory + "/" + Provider.serverID + "/Workshop/Maps"); for (int l = 0; l < folders3.Length; l++) { LevelInfo level4 = Level.getLevel(folders3[l], false); if (level4 != null) { level4.isFromWorkshop = true; if (Level.doesLevelPassFilter(level4, categoryFilter)) { list.Add(level4); } } } folders = ReadWrite.getFolders(ServerSavedata.directory + "/" + Provider.serverID + "/Maps"); for (int m = 0; m < folders.Length; m++) { LevelInfo level5 = Level.getLevel(folders[m], false); if (level5 != null && !(level5.name.ToLower() == "tutorial")) { level5.isFromWorkshop = true; if (Level.doesLevelPassFilter(level5, categoryFilter)) { list.Add(level5); } } } } return list.ToArray(); }
public static string folderFound(string path) { return(ReadWrite.folderFound(path, true)); }