Example #1
0
	Entity::Entity(const XmlNode & node)
		:	m_ID(INVALID_ENTITY_ID),
			m_Node(new TransformationNode()),
			m_WantsToDie(false)
	{
		static bool componentBuilderInitResult = InitializeComponentBuilder();
	
		node.ValidateChildElements("Components", "");
		node.ValidateAttributes("name", "", false);

		XmlNode componentsNode = node.GetFirstChildNode();

		componentsNode.ValidateChildElements("", k_ComponentBuilder->GetRegisteredBuildersCSV());

		XmlNode componentNode = componentsNode.GetFirstChildNode();

		SetAttachmentTarget(m_Node);

		while(!componentNode.IsEmpty())
		{
			k_ComponentBuilder->BuildObject(componentNode);

			componentNode = componentNode.GetNextSiblingNode();
		}

		ClearAttachmentTarget();
	}
Example #2
0
	BoxPhysicsComponent::BoxPhysicsComponent(const XmlNode & node)
	{
		node.ValidateAttributes("halfExtents","");

		std::string halfExtentString = GetAttribute<std::string>(node, "halfExtents", "1,1,1");
		
		std::vector<F32> values;
		ParseList(halfExtentString, ',', values);

		m_HalfExtentVector = Vector3<F32>(values.data());
	}