| 75 | } |
| 76 | |
| 77 | static std::vector<std::pair<const char*, std::vector<ModInstance*> > > GetCategorizedMods() { |
| 78 | std::vector<std::pair<const char*, std::vector<ModInstance*> > > categorized_mods; |
| 79 | |
| 80 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("Local Mods", std::vector<ModInstance*>())); |
| 81 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("Subscribed Steam Workshop Mods", std::vector<ModInstance*>())); |
| 82 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("Unsubscribed Steam Workshop Mods", std::vector<ModInstance*>())); |
| 83 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("My Steam Workshop Mods", std::vector<ModInstance*>())); |
| 84 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("My Favorites", std::vector<ModInstance*>())); |
| 85 | categorized_mods.push_back(std::pair<const char*, std::vector<ModInstance*> >("Core Packages", std::vector<ModInstance*>())); |
| 86 | |
| 87 | const std::vector<ModInstance*> mods = ModLoading::Instance().GetAllMods(); |
| 88 | |
| 89 | for (auto mod : mods) { |
| 90 | if (mod->IsCore()) { |
| 91 | categorized_mods[5].second.push_back(mod); |
| 92 | } else if (mod->modsource == ModSourceLocalModFolder) { |
| 93 | categorized_mods[0].second.push_back(mod); |
| 94 | } else if (mod->modsource == ModSourceSteamworks) { |
| 95 | if (mod->IsOwnedByCurrentUser()) { |
| 96 | categorized_mods[3].second.push_back(mod); |
| 97 | } else { |
| 98 | if (mod->IsFavorite()) { |
| 99 | categorized_mods[4].second.push_back(mod); |
| 100 | } else { |
| 101 | if (mod->IsSubscribed()) { |
| 102 | categorized_mods[1].second.push_back(mod); |
| 103 | } else { |
| 104 | categorized_mods[2].second.push_back(mod); |
| 105 | } |
| 106 | } |
| 107 | } |
| 108 | } |
| 109 | } |
| 110 | return categorized_mods; |
| 111 | } |
| 112 | |
| 113 | typedef std::vector<std::pair<const char*, std::vector<ModInstance*> > > CategorizedModsList; |
| 114 | static CategorizedModsList categorized_mods_cache_; |
no test coverage detected