void Puppet::LoadParts(TiXmlElement *element, Entity *intoEntity) { TiXmlElement *xmlPart = element->FirstChildElement("Part"); while (xmlPart) { XMLFileNode xmlFileNode(xmlPart); Part *part = new Part(); part->SetPuppet(this); part->Load(&xmlFileNode); LoadParts(xmlPart, part); parts.push_back(part); /// TODO...? intoEntity->Add(part); xmlPart = xmlPart->NextSiblingElement("Part"); } }
void Puppet::LoadParts(TiXmlElement *element, Part *intoPart) { TiXmlElement *xmlPart = element->FirstChildElement("Part"); while (xmlPart) { XMLFileNode xmlFileNode(xmlPart); Part *part = new Part(); part->SetPuppet(this); part->Load(&xmlFileNode); LoadParts(xmlPart, part); printf("loaded part [%s]\n", part->GetName().c_str()); if (intoPart) { intoPart->parts.push_back(part); part->SetParent(intoPart); printf(" into part [%s]\n", intoPart->GetName().c_str()); } else { part->SetParent(entity); } parts.push_back(part); Game::GetScene()->Add(part); //intoEntity->Add(part); xmlPart = xmlPart->NextSiblingElement("Part"); } }