本文整理汇总了C++中XMLElement::GetName方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLElement::GetName方法的具体用法?C++ XMLElement::GetName怎么用?C++ XMLElement::GetName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLElement
的用法示例。
在下文中一共展示了XMLElement::GetName方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadValue
bool PListFile::LoadValue(PListValue& value, const XMLElement& valueElem)
{
String valueType = valueElem.GetName();
if (valueType == "string")
value.SetString(valueElem.GetValue());
else if (valueType == "real")
value.SetFloat(ToFloat(valueElem.GetValue()));
else if (valueType == "integer")
value.SetInt(ToInt(valueElem.GetValue()));
else if (valueType == "true")
value.SetBool(true);
else if (valueType == "false")
value.SetBool(false);
else if (valueType == "dict")
{
if (!LoadDict(value.ConvertToValueMap(), valueElem))
return false;
}
else if (valueType == "array")
{
if (!LoadArray(value.ConvertToValueVector(), valueElem))
return false;
}
else
{
URHO3D_LOGERROR("Supported value type");
return false;
}
return true;
}
示例2: GetOrCreateRoot
XMLElement XMLFile::GetOrCreateRoot(const String& name)
{
XMLElement root = GetRoot(name);
if (root.NotNull())
return root;
root = GetRoot();
if (root.NotNull())
URHO3D_LOGWARNING("XMLFile already has root " + root.GetName() + ", deleting it and creating root " + name);
return CreateRoot(name);
}
示例3: SetParameters
void Texture::SetParameters(const XMLElement& element)
{
XMLElement paramElem = element.GetChild();
while (paramElem)
{
String name = paramElem.GetName();
if (name == "address")
{
String coord = paramElem.GetAttributeLower("coord");
if (coord.Length() >= 1)
{
TextureCoordinate coordIndex = (TextureCoordinate)(coord[0] - 'u');
String mode = paramElem.GetAttributeLower("mode");
SetAddressMode(coordIndex, (TextureAddressMode)GetStringListIndex(mode.CString(), addressModeNames, ADDRESS_WRAP));
}
}
if (name == "border")
SetBorderColor(paramElem.GetColor("color"));
if (name == "filter")
{
String mode = paramElem.GetAttributeLower("mode");
SetFilterMode((TextureFilterMode)GetStringListIndex(mode.CString(), filterModeNames, FILTER_DEFAULT));
}
if (name == "mipmap")
SetNumLevels(paramElem.GetBool("enable") ? 0 : 1);
if (name == "quality")
{
if (paramElem.HasAttribute("low"))
SetMipsToSkip(QUALITY_LOW, paramElem.GetInt("low"));
if (paramElem.HasAttribute("med"))
SetMipsToSkip(QUALITY_MEDIUM, paramElem.GetInt("med"));
if (paramElem.HasAttribute("medium"))
SetMipsToSkip(QUALITY_MEDIUM, paramElem.GetInt("medium"));
if (paramElem.HasAttribute("high"))
SetMipsToSkip(QUALITY_HIGH, paramElem.GetInt("high"));
}
if (name == "srgb")
SetSRGB(paramElem.GetBool("enable"));
paramElem = paramElem.GetNext();
}
}
示例4: LoadParameters
void Sound::LoadParameters()
{
ResourceCache* cache = GetSubsystem<ResourceCache>();
String xmlName = ReplaceExtension(GetName(), ".xml");
if (!cache->Exists(xmlName))
return;
XMLFile* file = cache->GetResource<XMLFile>(xmlName);
if (!file)
return;
XMLElement rootElem = file->GetRoot();
XMLElement paramElem = rootElem.GetChild();
while (paramElem)
{
String name = paramElem.GetName();
if (name == "format" && !compressed_)
{
if (paramElem.HasAttribute("frequency"))
frequency_ = paramElem.GetInt("frequency");
if (paramElem.HasAttribute("sixteenbit"))
sixteenBit_ = paramElem.GetBool("sixteenbit");
if (paramElem.HasAttribute("16bit"))
sixteenBit_ = paramElem.GetBool("16bit");
if (paramElem.HasAttribute("stereo"))
stereo_ = paramElem.GetBool("stereo");
}
if (name == "loop")
{
if (paramElem.HasAttribute("enable"))
SetLooped(paramElem.GetBool("enable"));
if (paramElem.HasAttribute("start") && paramElem.HasAttribute("end"))
SetLoop(paramElem.GetInt("start"), paramElem.GetInt("end"));
}
paramElem = paramElem.GetNext();
}
}
示例5: LoadParameters
void Sound::LoadParameters()
{
auto* cache = GetSubsystem<ResourceCache>();
String xmlName = ReplaceExtension(GetName(), ".xml");
SharedPtr<XMLFile> file(cache->GetTempResource<XMLFile>(xmlName, false));
if (!file)
return;
XMLElement rootElem = file->GetRoot();
LoadMetadataFromXML(rootElem);
for (XMLElement paramElem = rootElem.GetChild(); paramElem; paramElem = paramElem.GetNext())
{
String name = paramElem.GetName();
if (name == "format" && !compressed_)
{
if (paramElem.HasAttribute("frequency"))
frequency_ = (unsigned)paramElem.GetInt("frequency");
if (paramElem.HasAttribute("sixteenbit"))
sixteenBit_ = paramElem.GetBool("sixteenbit");
if (paramElem.HasAttribute("16bit"))
sixteenBit_ = paramElem.GetBool("16bit");
if (paramElem.HasAttribute("stereo"))
stereo_ = paramElem.GetBool("stereo");
}
if (name == "loop")
{
if (paramElem.HasAttribute("enable"))
SetLooped(paramElem.GetBool("enable"));
if (paramElem.HasAttribute("start") && paramElem.HasAttribute("end"))
SetLoop((unsigned)paramElem.GetInt("start"), (unsigned)paramElem.GetInt("end"));
}
}
}
示例6: locateElement
void ConfigParser::locateElement()
{
if (pParent != 0)
{
for (int i=0; i<pParent->pElement->GetChildrenCount(); i++)
{
XMLElement *pElem = pParent->pElement->GetChild(i);
if (pElem->GetName().Equals(sElemName))
{
if (lID == -1)
{
pElement = pElem;
return;
}
else
{
XMLAttribute *pAttr = pElem->FindAttribute("id");
if (pAttr)
{
if (pAttr->GetValue().ToLong() == lID)
{
pElement = pElem;
return;
}
}
}
}
}
pElement = pParent->addChild(sElemName);
if (-1 != lID)
{
pElement->AddAttribute("id", lID);
}
}
}
示例7: hotSpot
bool SpriteSheet2D::Load(Deserializer& source)
{
spriteMapping_.Clear();
SharedPtr<XMLFile> xmlFile(new XMLFile(context_));
if(!xmlFile->Load(source))
{
LOGERROR("Could not load sprite sheet");
return false;
}
SetMemoryUse(source.GetSize());
XMLElement rootElem = xmlFile->GetRoot();
if (!rootElem)
{
LOGERROR("Invalid sprite sheet");
return false;
}
if (rootElem.GetName() == "spritesheet")
{
ResourceCache* cache = GetSubsystem<ResourceCache>();
String textureFileName = rootElem.GetAttribute("texture");
texture_ = cache->GetResource<Texture2D>(textureFileName, false);
// If texture not found, try get in current directory
if (!texture_)
texture_ = cache->GetResource<Texture2D>(GetParentPath(GetName()) + textureFileName);
if (!texture_)
{
LOGERROR("Cound not load texture");
return false;
}
XMLElement spriteElem = rootElem.GetChild("sprite");
while (spriteElem)
{
String name = spriteElem.GetAttribute("name");
IntRect rectangle = spriteElem.GetIntRect("rectangle");
Vector2 hotSpot(0.5f, 0.5f);
if (spriteElem.HasAttribute("hotspot"))
hotSpot = spriteElem.GetVector2("hotspot");
DefineSprite(name, rectangle, hotSpot);
spriteElem = spriteElem.GetNext("sprite");
}
}
// Sparrow Starling texture atlas
else if (rootElem.GetName() == "TextureAtlas")
{
String textureFileName = rootElem.GetAttribute("imagePath");
ResourceCache* cache = GetSubsystem<ResourceCache>();
texture_ = cache->GetResource<Texture2D>(textureFileName, false);
// If texture not found, try get in current directory
if (!texture_)
texture_ = cache->GetResource<Texture2D>(GetParentPath(GetName()) + textureFileName);
if (!texture_)
{
LOGERROR("Cound not load texture");
return false;
}
XMLElement subTextureElem = rootElem.GetChild("SubTexture");
while (subTextureElem)
{
String name = subTextureElem.GetAttribute("name");
int x = subTextureElem.GetInt("x");
int y = subTextureElem.GetInt("y");
int width = subTextureElem.GetInt("width");
int height = subTextureElem.GetInt("height");
IntRect rectangle(x, y, x + width, y + height);
Vector2 hotSpot(0.5f, 0.5f);
if (subTextureElem.HasAttribute("frameWidth") && subTextureElem.HasAttribute("frameHeight"))
{
int frameX = subTextureElem.GetInt("frameX");
int frameY = subTextureElem.GetInt("frameY");
int frameWidth = subTextureElem.GetInt("frameWidth");
int frameHeight = subTextureElem.GetInt("frameHeight");
hotSpot.x_ = ((float)frameX + frameWidth / 2) / width;
hotSpot.y_ = 1.0f - ((float)frameY + frameHeight / 2) / height;
}
DefineSprite(name, rectangle, hotSpot);
subTextureElem = subTextureElem.GetNext("SubTexture");
}
}
else
{
LOGERROR("Invalid sprite sheet file");
return false;
}
return true;
//.........这里部分代码省略.........
示例8: assert
void PropertySet2D::Load(const XMLElement& element)
{
assert(element.GetName() == "properties");
for (XMLElement propertyElem = element.GetChild("property"); propertyElem; propertyElem = propertyElem.GetNext("property"))
nameToValueMapping_[propertyElem.GetAttribute("name")] = propertyElem.GetAttribute("value");
}
示例9: if
bool TmxFile2D::EndLoad()
{
if (!loadXMLFile_)
return false;
XMLElement rootElem = loadXMLFile_->GetRoot("map");
String version = rootElem.GetAttribute("version");
if (version != "1.0")
{
URHO3D_LOGERROR("Invalid version");
return false;
}
String orientation = rootElem.GetAttribute("orientation");
if (orientation == "orthogonal")
info_.orientation_ = O_ORTHOGONAL;
else if (orientation == "isometric")
info_.orientation_ = O_ISOMETRIC;
else if (orientation == "staggered")
info_.orientation_ = O_STAGGERED;
else if (orientation == "hexagonal")
info_.orientation_ = O_HEXAGONAL;
else
{
URHO3D_LOGERROR("Unsupported orientation type " + orientation);
return false;
}
info_.width_ = rootElem.GetInt("width");
info_.height_ = rootElem.GetInt("height");
info_.tileWidth_ = rootElem.GetFloat("tilewidth") * PIXEL_SIZE;
info_.tileHeight_ = rootElem.GetFloat("tileheight") * PIXEL_SIZE;
for (unsigned i = 0; i < layers_.Size(); ++i)
delete layers_[i];
layers_.Clear();
for (XMLElement childElement = rootElem.GetChild(); childElement; childElement = childElement.GetNext())
{
bool ret = true;
String name = childElement.GetName();
if (name == "tileset")
ret = LoadTileSet(childElement);
else if (name == "layer")
{
TmxTileLayer2D* tileLayer = new TmxTileLayer2D(this);
ret = tileLayer->Load(childElement, info_);
layers_.Push(tileLayer);
}
else if (name == "objectgroup")
{
TmxObjectGroup2D* objectGroup = new TmxObjectGroup2D(this);
ret = objectGroup->Load(childElement, info_);
layers_.Push(objectGroup);
}
else if (name == "imagelayer")
{
TmxImageLayer2D* imageLayer = new TmxImageLayer2D(this);
ret = imageLayer->Load(childElement, info_);
layers_.Push(imageLayer);
}
if (!ret)
{
loadXMLFile_.Reset();
tsxXMLFiles_.Clear();
return false;
}
}
loadXMLFile_.Reset();
tsxXMLFiles_.Clear();
return true;
}
示例10: scale
//.........这里部分代码省略.........
key.spin_ = 1;
if (keyElem.HasAttribute("spin"))
key.spin_ = keyElem.GetInt("spin");
XMLElement childElem = keyElem.GetChild();
Vector2 position;
position.x_ = childElem.GetFloat("x");
position.y_ = childElem.GetFloat("y");
float angle = childElem.GetFloat("angle");
Vector2 scale(Vector2::ONE);
if (childElem.HasAttribute("scale_x"))
scale.x_ = childElem.GetFloat("scale_x");
if (childElem.HasAttribute("scale_y"))
scale.y_ = childElem.GetFloat("scale_y");
key.transform_ = Transform2D(position, angle, scale);
if (timeline.type_ == OT_SPRITE)
{
int folder = childElem.GetUInt("folder");
int file = childElem.GetUInt("file");
key.sprite_ = GetSprite(folder, file);
if (!key.sprite_)
{
LOGERROR("Could not find sprite");
return false;
}
if (childElem.HasAttribute("pivot_x"))
key.hotSpot_.x_ = childElem.GetFloat("pivot_x");
else
key.hotSpot_.x_ = key.sprite_->GetHotSpot().x_;
if (childElem.HasAttribute("pivot_y"))
key.hotSpot_.y_ = childElem.GetFloat("pivot_y");
else
key.hotSpot_.y_ = key.sprite_->GetHotSpot().y_;
if (childElem.HasAttribute("a"))
key.alpha_ = childElem.GetFloat("a");
}
timeline.timelineKeys_.Push(key);
}
// Add end key for looped animation
if (looped && timeline.timelineKeys_.Back().time_ != length)
{
TimelineKey2D key = timeline.timelineKeys_.Front();
key.time_ = length;
timeline.timelineKeys_.Push(key);
}
animation->AddTimeline(timeline);
}
// Load main line
XMLElement mainlineElem = animationElem.GetChild("mainline");
for (XMLElement keyElem = mainlineElem.GetChild("key"); keyElem; keyElem = keyElem.GetNext("key"))
{
MainlineKey2D mainlineKey;
int id = keyElem.GetInt("id");
mainlineKey.time_ = keyElem.GetFloat("time") * 0.001f;
for (XMLElement refElem = keyElem.GetChild(); refElem; refElem = refElem.GetNext())
{
Reference2D ref;
int refId = refElem.GetInt("id");
if (refElem.GetName() == "bone_ref")
ref.type_ = OT_BONE;
else
ref.type_ = OT_SPRITE;
ref.timeline_ = refElem.GetInt("timeline");
if (refElem.HasAttribute("parent"))
{
int parent = refElem.GetInt("parent");
int parentTimeline = mainlineKey.references_[parent].timeline_;
animation->SetTimelineParent(ref.timeline_, parentTimeline);
}
if (refElem.GetName() == "object_ref")
ref.zIndex_ = refElem.GetInt("z_index");
mainlineKey.references_.Push(ref);
}
animation->AddMainlineKey(mainlineKey);
}
animations_.Push(animation);
return true;
}