MCPcopy Create free account
hub / github.com/WolfireGames/overgrowth / GetCategorizedMods

Function GetCategorizedMods

Source/GUI/dimgui/modmenu.cpp:77–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75}
76
77static 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
113typedef std::vector<std::pair<const char*, std::vector<ModInstance*> > > CategorizedModsList;
114static CategorizedModsList categorized_mods_cache_;

Callers 1

modmenu.cppFile · 0.85

Calls 6

GetAllModsMethod · 0.80
IsCoreMethod · 0.80
IsOwnedByCurrentUserMethod · 0.80
push_backMethod · 0.45
IsFavoriteMethod · 0.45
IsSubscribedMethod · 0.45

Tested by

no test coverage detected