// // 保存步进时间 // VOID CAffectorBase::SaveStepTime(TiXmlNode *pAffectorNode, const CAffectorBase *pDefaultAffector) const { ASSERT(pAffectorNode); if (m_step != pDefaultAffector->m_step) { TiXmlElement *pStepTimeNode = SAFE_NEW(MEMTYPE_HEAP) TiXmlElement("StepTime"); ASSERT(pStepTimeNode); { pStepTimeNode->SetAttributeFloat("value", m_step); } pAffectorNode->LinkEndChild(pStepTimeNode); } }
// // 保存结束时间 // VOID CAffectorBase::SaveEndTime(TiXmlNode *pAffectorNode, const CAffectorBase *pDefaultAffector) const { ASSERT(pAffectorNode); if (m_minEndTime != pDefaultAffector->m_minEndTime || m_maxEndTime != pDefaultAffector->m_maxEndTime) { TiXmlElement *pEndTimeNode = SAFE_NEW(MEMTYPE_HEAP) TiXmlElement("EndTime"); ASSERT(pEndTimeNode); { pEndTimeNode->SetAttributeFloat("min_value", m_minEndTime); pEndTimeNode->SetAttributeFloat("max_value", m_maxEndTime); } pAffectorNode->LinkEndChild(pEndTimeNode); } }
// // 保存XML // VOID CGfxBillboard::SaveXML(TiXmlNode *pGfxNode) const { ASSERT(pGfxNode); TiXmlElement *pOffsetNode = SAFE_NEW(MEMTYPE_HEAP) TiXmlElement("Offset"); ASSERT(pOffsetNode); { pOffsetNode->SetAttributeFloat("value", m_offset); } pGfxNode->LinkEndChild(pOffsetNode); TiXmlElement *pDirectionNode = SAFE_NEW(MEMTYPE_HEAP) TiXmlElement("Direction"); ASSERT(pDirectionNode); { pDirectionNode->SetAttributeInt("value", m_directionType); } pGfxNode->LinkEndChild(pDirectionNode); CGfxBase::SaveXML(pGfxNode); }