Beispiel #1
0
	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");
		}
	}
Beispiel #2
0
	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");
		}
	}