本文整理汇总了C++中XMLNode::GetImmediateChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLNode::GetImmediateChildren方法的具体用法?C++ XMLNode::GetImmediateChildren怎么用?C++ XMLNode::GetImmediateChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLNode
的用法示例。
在下文中一共展示了XMLNode::GetImmediateChildren方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadFromXMLNode
/// Use "MeshNode" as the element name of the argument 'reader'
void MeshContainerNodeRenderMethod::LoadFromXMLNode( XMLNode& reader )
{
vector<XMLNode> vecReader = reader.GetImmediateChildren( "MeshContainerRenderMethod" );
m_vecpContainerRenderMethod.resize( vecReader.size() );
for( size_t i=0; i<vecReader.size(); i++ )
{
m_vecpContainerRenderMethod[i].reset( new MeshContainerRenderMethod() );
m_vecpContainerRenderMethod[i]->LoadFromXMLNode( vecReader[i] );
}
vector<XMLNode> vecChild = reader.GetImmediateChildren( "MeshContainerNodeRenderMethod" );
m_vecpChild.resize( vecChild.size() );
for( size_t i=0; i<vecChild.size(); i++ )
{
m_vecpChild[i].reset( new MeshContainerNodeRenderMethod() );
m_vecpChild[i]->LoadFromXMLNode( vecChild[i] );
}
}
示例2: LoadFromXMLNode
void CRotatableTurret::LoadFromXMLNode( XMLNode& reader )
{
GameItem::LoadFromXMLNode( reader );
string ammo_name, ammo_quantity;
reader.GetChildElementTextContent( "Weapon", m_WeaponName );
vector<XMLNode> vecAmmo = reader.GetImmediateChildren( "Ammunition" );
// m_vecpAmmunition.resize( vecAmmo.size() );
m_vecAmmunition.resize( vecAmmo.size() );
for( size_t i=0; i<vecAmmo.size(); i++ )
{
// name
m_vecAmmunition[i].m_AmmunitionName = vecAmmo[i].GetTextContent();
// quantity
ammo_quantity = vecAmmo[i].GetAttributeText( "quantity" );
if( ammo_quantity == "" )
ammo_quantity = "infinite";
if( ammo_quantity == "infinite" )
{
// TODO: set infinite
ammo_quantity = "100000000";
}
m_vecAmmunition[i].m_InitQuantity = to_int(ammo_quantity);
// m_vecpAmmunition[i] = GetItemDatabaseManager().GetItem<CGI_Ammunition>( ammo_name, to_int(ammo_quantity) );
}
/*
vector<XMLNode> vecAmmoLoading = reader.GetChildElementTextContent( "AmmunitionLoading/Name", ammo_name );
const size_t num_loadings = vecAmmoLoading.size();
m_vecpAmmunitionLoading.reserve( 8 );
for( size_t i=0; i<num_loadings; i++ )
{
ammo_name = vecAmmoLoading[i].GetTextContent();
num_loads = vecAmmoLoading[i].GetAttributeText();
shared_ptr<CGI_Ammunition> pAmmunition = get_ammo( ammo_name );
for( int j=0; j<num_loads; j++ )
m_vecpAmmunitionLoading.push_back( pAmmunition );
}
*/
amorphous::LoadFromXMLNode( reader.GetChild( "Mount/LocalPose" ), m_MountLocalPose );
amorphous::LoadFromXMLNode( reader.GetChild( "Gun/LocalPose" ), m_GunLocalPose );
m_MountMeshTransform = m_MeshTransform * m_MountLocalPose.GetInverseROT();
m_GunMeshTransform = m_MeshTransform * m_GunLocalPose.GetInverseROT();
}
示例3: LoadFromXMLNode
void CGI_Aircraft::LoadFromXMLNode( XMLNode& reader )
{
GameItem::LoadFromXMLNode( reader );
reader.GetChildElementTextContent( "Armor", m_fArmor );
reader.GetChildElementTextContent( "RCS", m_fRCS );
reader.GetChildElementTextContent( "Ceiling", m_fCeiling );
reader.GetChildElementTextContent( "CockpitLocalPos", m_CockpitLocalPose.vPosition );
reader.GetChildElementTextContent( "ThirdPersonView/CameraPosition", m_vThirdPersonViewOffset );
// reader.GetChildElementTextContent( m_vecNozzleFlameParams, );
XMLNode accels_reader = reader.GetChild( "Accel" );
accels_reader.GetChildElementTextContent( "Default", m_fAccel );
accels_reader.GetChildElementTextContent( "Boost", m_fBoostAccel );
accels_reader.GetChildElementTextContent( "Brake", m_fBrakeAccel );
// reader.m_PitchRange reader.m_RollRange;
reader.GetChildElementTextContent( "MaxPitchAccel", m_fMaxPitchAccel );
reader.GetChildElementTextContent( "MaxRollAccel", m_fMaxRollAccel );
reader.GetChildElementTextContent( "MaxYawAccel", m_fMaxYawAccel );
reader.GetChildElementTextContent( "GunMuzzleEndPos", m_vGunMuzzleEndLocalPos );
std::vector<XMLNode> payloads = reader.GetImmediateChildren( "AmmoPayload" );
const size_t num_payload_info = payloads.size();
m_vecSupportedAmmo.resize( num_payload_info );
for( size_t i = 0; i<num_payload_info; i++ )
{
m_vecSupportedAmmo[i].LoadFromXMLNode( payloads[i] );
}
XMLNode components_reader = reader.GetChild( "Components" );
std::vector<XMLNode> components = components_reader.GetImmediateChildren();
// std::vector<XMLNode> components = reader.GetImmediateChildren( "Components" );
for( size_t i = 0; i<components.size(); i++ )
{
XMLNode& component_reader = components[i];
shared_ptr<MeshBoneController_AircraftBase> pComponent;
if( component_reader.GetName() == "Flap" )
{
pComponent = shared_ptr<MeshBoneController_AircraftBase>( new MeshBoneController_Flap() );
}
else if( component_reader.GetName() == "VFlap" )
{
pComponent = shared_ptr<MeshBoneController_AircraftBase>( new MeshBoneController_VFlap() );
}
else if( component_reader.GetName() == "Rotor" )
{
pComponent = shared_ptr<MeshBoneController_AircraftBase>( new MeshBoneController_Rotor() );
}
else if( component_reader.GetName() == "GearUnit" )
{
// store to the gear unit array to open/close the gear box(es)
shared_ptr<MeshBoneController_GearUnit> pGearUnit;
pGearUnit = shared_ptr<MeshBoneController_GearUnit>( new MeshBoneController_GearUnit() );
m_vecpGear.push_back( pGearUnit );
pComponent = pGearUnit;
}
if( pComponent )
{
pComponent->LoadFromXMLNode( component_reader );
m_vecpMeshController.push_back( pComponent );
}
}
}