本文整理汇总了C++中Skill::addChild方法的典型用法代码示例。如果您正苦于以下问题:C++ Skill::addChild方法的具体用法?C++ Skill::addChild怎么用?C++ Skill::addChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Skill
的用法示例。
在下文中一共展示了Skill::addChild方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadSkill
void SkillManager::loadSkill(LuaObject* luaSkill) {
Reference<Skill*> skill = new Skill();
skill->parseLuaObject(luaSkill);
Skill* parent = skillMap.get(skill->getParentName().hashCode());
if(parent == NULL) {
parent = rootNode;
}
parent->addChild(skill);
skillMap.put(skill->getSkillName().hashCode(), skill);
Vector<String> commands = skill->commands;
for(int i = 0; i < commands.size(); ++i) {
String command = commands.get(i);
if(!abilityMap.containsKey(command)) {
abilityMap.put(command, new Ability(command));
}
}
}
示例2: loadClientData
void SkillManager::loadClientData() {
IffStream* iffStream = TemplateManager::instance()->openIffFile("datatables/skill/skills.iff");
if (iffStream == NULL) {
error("Could not load skills.");
return;
}
DataTableIff dtiff;
dtiff.readObject(iffStream);
delete iffStream;
for (int i = 0; i < dtiff.getTotalRows(); ++i) {
DataTableRow* row = dtiff.getRow(i);
Reference<Skill*> skill = new Skill();
skill->parseDataTableRow(row);
Skill* parent = skillMap.get(skill->getParentName().hashCode());
if (parent == NULL)
parent = rootNode;
parent->addChild(skill);
if (skillMap.put(skill->getSkillName().hashCode(), skill) != NULL) {
error("overwriting skill name");
assert(0 && "skill name hashcode error");
}
//Load the abilities of the skill into the ability map.
Vector<String> commands = skill->commands;
for (int i = 0; i < commands.size(); ++i) {
String command = commands.get(i);
if (!abilityMap.containsKey(command)) {
abilityMap.put(command, new Ability(command));
}
}
}
loadFromLua();
//If the admin ability isn't in the ability map, then we want to add it manually.
if (!abilityMap.containsKey("admin"))
abilityMap.put("admin", new Ability("admin"));
// These are not listed in skills.iff and need to be added manually
if (!abilityMap.containsKey("startMusic+western"))
abilityMap.put("startMusic+western", new Ability("startMusic+western"));
if (!abilityMap.containsKey("startDance+theatrical"))
abilityMap.put("startDance+theatrical", new Ability("startDance+theatrical"));
if (!abilityMap.containsKey("startDance+theatrical2"))
abilityMap.put("startDance+theatrical2", new Ability("startDance+theatrical2"));
loadXpLimits();
info("Successfully loaded " + String::valueOf(skillMap.size()) + " skills and " + String::valueOf(abilityMap.size()) + " abilities.", true);
}