MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / buildDependencies

Method buildDependencies

source/game/Skill.cpp:45–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43}
44
45void Skill::buildDependencies(const std::vector<SkillType>& skillsDone, std::vector<SkillType>& dependencies) const
46{
47 // If the current skill is already in the dependencies list, no need to process it
48 if(std::find(dependencies.begin(), dependencies.end(), getType()) != dependencies.end())
49 return;
50
51 for(const Skill* skill : mSkillDepends)
52 {
53 SkillType resType = skill->getType();
54 if(std::find(skillsDone.begin(), skillsDone.end(), resType) != skillsDone.end())
55 continue;
56
57 if(std::find(dependencies.begin(), dependencies.end(), resType) != dependencies.end())
58 continue;
59
60 skill->buildDependencies(skillsDone, dependencies);
61 }
62
63 if(std::find(dependencies.begin(), dependencies.end(), getType()) == dependencies.end())
64 dependencies.push_back(getType());
65}
66
67bool Skill::dependsOn(const std::vector<SkillType>& skills) const
68{

Callers 2

Calls 1

getTypeMethod · 0.45

Tested by

no test coverage detected