本文整理汇总了C++中nlmisc::IStream::xmlSerial方法的典型用法代码示例。如果您正苦于以下问题:C++ IStream::xmlSerial方法的具体用法?C++ IStream::xmlSerial怎么用?C++ IStream::xmlSerial使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nlmisc::IStream
的用法示例。
在下文中一共展示了IStream::xmlSerial方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serial
// ---------------------------------------------------------------------------
void CZoneRegion::serial (NLMISC::IStream &f)
{
f.xmlPush ("LAND");
sint32 version = f.serialVersion (1);
f.serialCheck ((uint32)'DNAL');
f.xmlSerial (_MinX, "MIN_X");
f.xmlSerial (_MinY, "MIN_Y");
f.xmlSerial (_MaxX, "MAX_X");
f.xmlSerial (_MaxY, "MAX_Y");
if (version == 1)
{
f.serialCont (_Zones);
}
if (version == 0)
{
std::vector<SZoneUnit> vZonesTmp;
f.serialCont (vZonesTmp);
_Zones.resize (vZonesTmp.size());
for (uint32 i = 0; i < vZonesTmp.size(); ++i)
_Zones[i] = vZonesTmp[i];
}
f.xmlPop ();
}
示例2: serial
//***********************************************************************************************
void CParticleWorkspace::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
{
f.xmlPush("PARTICLE_WORKSPACE");
f.serialVersion(0);
f.xmlSerial(_Name, "NAME");
f.xmlPush("PS_LIST");
uint32 numNodes = (uint32)_Nodes.size();
// TODO : avoid to store the number of nodes
f.xmlSerial(numNodes, "NUM_NODES");
if (f.isReading())
{
for(uint k = 0; k < numNodes; ++k)
{
_Nodes.push_back(new CNode());
_Nodes.back()->init(this);
f.serial(*_Nodes.back());
}
}
else
{
for(uint k = 0; k < numNodes; ++k)
{
f.serial(*_Nodes[k]);
}
}
f.xmlPop();
f.xmlPop();
}
示例3:
// ---------------------------------------------------------------------------
void CZoneRegion::SZoneUnit2::serial (NLMISC::IStream &f)
{
/*sint32 version =*/ f.serialVersion (0);
SZoneUnit::serial (f);
f.xmlSerial (DateLow, "LOW");
f.xmlSerial (DateHigh, "HIGH");
}
示例4: serial
void CZoneEdge::serial (NLMISC::IStream& s)
{
// Serial the version
/*sint ver =*/ s.serialVersion (0);
s.xmlPush ("VERTICES");
s.serialCont (_TheEdge);
s.xmlPop ();
s.xmlPush ("VERTICES_ID");
s.serialCont (_Id);
s.xmlPop ();
s.xmlSerial (_Rotation, "ROTATION");
s.xmlSerial (_OffsetX, _OffsetY, "OFFSET");
}
示例5:
//***********************************************************************************************
void CParticleWorkspace::CNode::serial(NLMISC::IStream &f)
{
nlassert(_WS);
f.xmlPush("PROJECT_FILE");
sint version = f.serialVersion(2);
f.xmlSerial(_RelativePath, "RELATIVE_PATH");
if (version >= 1)
{
f.xmlSerial(_TriggerAnim, "TRIGGER_ANIMATION");
}
if (version >= 2)
{
f.xmlSerial(_ParentSkelName, "PARENT_SKEL_NAME");
f.xmlSerial(_ParentBoneName, "PARENT_BONE_NAME");
}
f.xmlPop();
}
示例6: serial
void CPrimitiveDesc::serial (NLMISC::IStream &s)
{
// Serial the version
sint ver = s.serialVersion (1);
s.xmlPush ("LENGTH");
s.serial (Length[0]);
s.serial (Length[1]);
s.xmlPop ();
s.xmlSerial (Height, "HEIGHT");
s.xmlSerial (Attenuation, "ATTENUATION");
s.xmlPush ("TYPE");
s.serialEnum (Type);
s.xmlPop ();
s.xmlPush ("REACTION");
s.serialEnum (Reaction);
s.xmlPop ();
s.xmlPush ("TRIGGER");
s.serialEnum (Trigger);
s.xmlPop ();
s.xmlSerial (Obstacle, "OBSTACLE");
s.xmlSerial (OcclusionMask, "OCCLUSION_MASK");
s.xmlSerial (CollisionMask, "COLLISION_MASK");
s.xmlSerial (Position, "POSITION");
s.xmlSerial (Orientation, "ORIENTATION");
if (ver>=1)
{
s.xmlSerial (UserData, "USER_DATA");
}
else
{
UserData = 0;
}
}