本文整理汇总了C++中Direction::UnserializeFrom方法的典型用法代码示例。如果您正苦于以下问题:C++ Direction::UnserializeFrom方法的具体用法?C++ Direction::UnserializeFrom怎么用?C++ Direction::UnserializeFrom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Direction
的用法示例。
在下文中一共展示了Direction::UnserializeFrom方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoUnserializeFrom
void SpriteObject::DoUnserializeFrom(gd::Project & project, const gd::SerializerElement & element)
{
const gd::SerializerElement & animationsElement = element.GetChild("animations", 0, "Animations");
animationsElement.ConsiderAsArrayOf("animation", "Animation");
for (std::size_t i = 0; i < animationsElement.GetChildrenCount(); ++i)
{
const gd::SerializerElement & animationElement = animationsElement.GetChild(i);
Animation newAnimation;
newAnimation.useMultipleDirections = animationElement.GetBoolAttribute("useMultipleDirections", false, "typeNormal");
//Compatibility with GD <= 3.3
if (animationElement.HasChild("Direction"))
{
for (std::size_t j = 0; j < animationElement.GetChildrenCount("Direction"); ++j)
{
Direction direction;
direction.UnserializeFrom(animationElement.GetChild("Direction", j));
newAnimation.SetDirectionsCount(newAnimation.GetDirectionsCount()+1);
newAnimation.SetDirection(direction, newAnimation.GetDirectionsCount()-1);
}
}
//End of compatibility code
else
{
const gd::SerializerElement & directionsElement = animationElement.GetChild("directions");
directionsElement.ConsiderAsArrayOf("direction");
for (std::size_t j = 0; j < directionsElement.GetChildrenCount(); ++j)
{
Direction direction;
direction.UnserializeFrom(directionsElement.GetChild(j));
newAnimation.SetDirectionsCount(newAnimation.GetDirectionsCount()+1);
newAnimation.SetDirection(direction, newAnimation.GetDirectionsCount()-1);
}
}
AddAnimation( newAnimation );
}
}