MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / getDependableResearchBasic

Method getDependableResearchBasic

src/Savegame/SavedGame.cpp:1173–1189  ·  view source on GitHub ↗

* Get the list of newly available research projects once a ResearchProject has been completed. This function doesn't check for fake ResearchProject. * @param dependables the list of RuleResearch which are now available. * @param research The RuleResearch which has just been discovered * @param ruleset the Game Ruleset * @param base a pointer to a Base */

Source from the content-addressed store, hash-verified

1171 * @param base a pointer to a Base
1172 */
1173void SavedGame::getDependableResearchBasic (std::vector<RuleResearch *> & dependables, const RuleResearch *research, const Ruleset * ruleset, Base * base) const
1174{
1175 std::vector<RuleResearch *> possibleProjects;
1176 getAvailableResearchProjects(possibleProjects, ruleset, base);
1177 for(std::vector<RuleResearch *>::iterator iter = possibleProjects.begin (); iter != possibleProjects.end (); ++iter)
1178 {
1179 if (std::find((*iter)->getDependencies().begin (), (*iter)->getDependencies().end (), research->getName()) != (*iter)->getDependencies().end ()
1180 || std::find((*iter)->getUnlocked().begin (), (*iter)->getUnlocked().end (), research->getName()) != (*iter)->getUnlocked().end ())
1181 {
1182 dependables.push_back(*iter);
1183 if ((*iter)->getCost() == 0)
1184 {
1185 getDependableResearchBasic(dependables, *iter, ruleset, base);
1186 }
1187 }
1188 }
1189}
1190
1191/**
1192 * Get the list of newly available manufacture projects once a ResearchProject has been completed. This function check for fake ResearchProject.

Callers

nothing calls this directly

Calls 2

getNameMethod · 0.45
getCostMethod · 0.45

Tested by

no test coverage detected