本文整理汇总了C++中XMLElement::GetRect方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLElement::GetRect方法的具体用法?C++ XMLElement::GetRect怎么用?C++ XMLElement::GetRect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLElement
的用法示例。
在下文中一共展示了XMLElement::GetRect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Load
//.........这里部分代码省略.........
if (source.HasChild("emitterradius"))
emitterSize_.x_ = emitterSize_.y_ = emitterSize_.z_ = source.GetChild("emitterradius").GetFloat("value");
if (source.HasChild("direction"))
GetVector3MinMax(source.GetChild("direction"), directionMin_, directionMax_);
if (source.HasChild("constantforce"))
constantForce_ = source.GetChild("constantforce").GetVector3("value");
if (source.HasChild("dampingforce"))
dampingForce_ = source.GetChild("dampingforce").GetFloat("value");
if (source.HasChild("activetime"))
activeTime_ = source.GetChild("activetime").GetFloat("value");
if (activeTime_ < 0.0f)
activeTime_ = M_INFINITY;
if (source.HasChild("inactivetime"))
inactiveTime_ = source.GetChild("inactivetime").GetFloat("value");
if (inactiveTime_ < 0.0f)
inactiveTime_ = M_INFINITY;
if (source.HasChild("emissionrate"))
GetFloatMinMax(source.GetChild("emissionrate"), emissionRateMin_, emissionRateMax_);
if (source.HasChild("interval"))
{
float intervalMin = 0.0f;
float intervalMax = 0.0f;
GetFloatMinMax(source.GetChild("interval"), intervalMin, intervalMax);
emissionRateMax_ = 1.0f / intervalMin;
emissionRateMin_ = 1.0f / intervalMax;
}
if (source.HasChild("particlesize"))
GetVector2MinMax(source.GetChild("particlesize"), sizeMin_, sizeMax_);
if (source.HasChild("timetolive"))
GetFloatMinMax(source.GetChild("timetolive"), timeToLiveMin_, timeToLiveMax_);
if (source.HasChild("velocity"))
GetFloatMinMax(source.GetChild("velocity"), velocityMin_, velocityMax_);
if (source.HasChild("rotation"))
GetFloatMinMax(source.GetChild("rotation"), rotationMin_, rotationMax_);
if (source.HasChild("rotationspeed"))
GetFloatMinMax(source.GetChild("rotationspeed"), rotationSpeedMin_, rotationSpeedMax_);
if (source.HasChild("faceCameraMode"))
{
String type = source.GetChild("faceCameraMode").GetAttributeLower("value");
faceCameraMode_ = (FaceCameraMode)GetStringListIndex(type.CString(), faceCameraModeNames, FC_ROTATE_XYZ);
}
if (source.HasChild("sizedelta"))
{
XMLElement deltaElem = source.GetChild("sizedelta");
if (deltaElem.HasAttribute("add"))
sizeAdd_ = deltaElem.GetFloat("add");
if (deltaElem.HasAttribute("mul"))
sizeMul_ = deltaElem.GetFloat("mul");
}
if (source.HasChild("color"))
{
ColorFrame colorFrame(source.GetChild("color").GetColor("value"));
SetColorFrame(0, colorFrame);
}
if (source.HasChild("colorfade"))
{
Vector<ColorFrame> fades;
for (XMLElement colorFadeElem = source.GetChild("colorfade"); colorFadeElem;
colorFadeElem = colorFadeElem.GetNext("colorfade"))
fades.Push(ColorFrame(colorFadeElem.GetColor("color"), colorFadeElem.GetFloat("time")));
SetColorFrames(fades);
}
if (colorFrames_.Empty())
colorFrames_.Push(ColorFrame(Color::WHITE));
if (source.HasChild("texanim"))
{
Vector<TextureFrame> animations;
for (XMLElement animElem = source.GetChild("texanim"); animElem; animElem = animElem.GetNext("texanim"))
{
TextureFrame animation;
animation.uv_ = animElem.GetRect("uv");
animation.time_ = animElem.GetFloat("time");
animations.Push(animation);
}
SetTextureFrames(animations);
}
return true;
}
示例2: Load
//.........这里部分代码省略.........
emitterType_ = EMITTER_SPHERE;
else
LOGERROR("Unknown particle emitter type " + type);
}
if (rootElem.HasChild("emittersize"))
emitterSize_ = rootElem.GetChild("emittersize").GetVector3("value");
if (rootElem.HasChild("emitterradius"))
emitterSize_.x_ = emitterSize_.y_ = emitterSize_.z_ = rootElem.GetChild("emitterradius").GetFloat("value");
if (rootElem.HasChild("direction"))
GetVector3MinMax(rootElem.GetChild("direction"), directionMin_, directionMax_);
if (rootElem.HasChild("constantforce"))
constantForce_ = rootElem.GetChild("constantforce").GetVector3("value");
if (rootElem.HasChild("dampingforce"))
dampingForce_ = rootElem.GetChild("dampingforce").GetFloat("value");
if (rootElem.HasChild("activetime"))
activeTime_ = rootElem.GetChild("activetime").GetFloat("value");
if (activeTime_ < 0.0f)
activeTime_ = M_INFINITY;
if (rootElem.HasChild("inactivetime"))
inactiveTime_ = rootElem.GetChild("inactivetime").GetFloat("value");
if (inactiveTime_ < 0.0f)
inactiveTime_ = M_INFINITY;
if (rootElem.HasChild("emissionrate"))
GetFloatMinMax(rootElem.GetChild("emissionrate"), emissionRateMin_, emissionRateMax_);
if (rootElem.HasChild("interval"))
{
float intervalMin = 0.0f;
float intervalMax = 0.0f;
GetFloatMinMax(rootElem.GetChild("interval"), intervalMin, intervalMax);
emissionRateMax_ = 1.0f / intervalMin;
emissionRateMin_ = 1.0f / intervalMax;
}
if (rootElem.HasChild("particlesize"))
GetVector2MinMax(rootElem.GetChild("particlesize"), sizeMin_, sizeMax_);
if (rootElem.HasChild("timetolive"))
GetFloatMinMax(rootElem.GetChild("timetolive"), timeToLiveMin_, timeToLiveMax_);
if (rootElem.HasChild("velocity"))
GetFloatMinMax(rootElem.GetChild("velocity"), velocityMin_, velocityMax_);
if (rootElem.HasChild("rotation"))
GetFloatMinMax(rootElem.GetChild("rotation"), rotationMin_, rotationMax_);
if (rootElem.HasChild("rotationspeed"))
GetFloatMinMax(rootElem.GetChild("rotationspeed"), rotationSpeedMin_, rotationSpeedMax_);
if (rootElem.HasChild("sizedelta"))
{
XMLElement deltaElem = rootElem.GetChild("sizedelta");
if (deltaElem.HasAttribute("add"))
sizeAdd_ = deltaElem.GetFloat("add");
if (deltaElem.HasAttribute("mul"))
sizeMul_ = deltaElem.GetFloat("mul");
}
if (rootElem.HasChild("color"))
SetColor(rootElem.GetChild("color").GetColor("value"));
if (rootElem.HasChild("colorfade"))
{
Vector<ColorFrame> fades;
XMLElement colorFadeElem = rootElem.GetChild("colorfade");
while (colorFadeElem)
{
fades.Push(ColorFrame(colorFadeElem.GetColor("color"), colorFadeElem.GetFloat("time")));
colorFadeElem = colorFadeElem.GetNext("colorfade");
}
SetColors(fades);
}
if (rootElem.HasChild("texanim"))
{
Vector<TextureFrame> animations;
XMLElement animElem = rootElem.GetChild("texanim");
while (animElem)
{
TextureFrame animation;
animation.uv_ = animElem.GetRect("uv");
animation.time_ = animElem.GetFloat("time");
animations.Push(animation);
animElem = animElem.GetNext("texanim");
}
textureFrames_ = animations;
}
MarkNetworkUpdate();
return true;
}