本文整理汇总了C++中Transform::Deserialize方法的典型用法代码示例。如果您正苦于以下问题:C++ Transform::Deserialize方法的具体用法?C++ Transform::Deserialize怎么用?C++ Transform::Deserialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transform
的用法示例。
在下文中一共展示了Transform::Deserialize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParseDictionary
/**
* @brief Helper function to parse a file and make a GameObject.
* @param aObject
* @param aParser
*/
void ObjectManager::ParseDictionary(GameObject *aObject, Parser &aParser)
{
if(aParser.Find("Name"))
{
std::string name = aParser.Find("Name", "Value")->GetValue().ToString();
aObject->SetName(name);
}
if(aParser.Find("PhysicsObject"))
{
PhysicsObject *object = GetOwningApp()->GET<PhysicsWorld>()->CreateObject();
aObject->AddComponent(object);
object->Deserialize(aParser);
}
if(aParser.Find("Transform"))
{
// Get Position, Scale, and Size
Transform *transform = new Transform();
transform->Deserialize(aParser);
aObject->AddComponent(transform);
}
if(aParser.Find("Surface"))
{
#if !defined(ANDROID) && !defined(IOS)
PCSurface *surface = nullptr;
#else
Surface *surface = nullptr;
#endif
if(aParser.Find("Surface", "UIElement") && aParser.Find("Surface", "UIElement")->GetValue().ToBool())
{
#if !defined(ANDROID) && !defined(IOS)
surface = (PCSurface*)GetOwningApp()->GET<GraphicsManager>()->CreateUISurface();
#else
surface = GetOwningApp()->GET<GraphicsManager>()->CreateUISurface();
#endif
}
else
{
#if !defined(ANDROID) && !defined(IOS)
surface = (PCSurface*)GetOwningApp()->GET<GraphicsManager>()->CreateSurface();
#else
surface = GetOwningApp()->GET<GraphicsManager>()->CreateSurface();
#endif
}
surface->Deserialize(aParser);
aObject->AddComponent(surface);
}
if(aParser.Find("Focus"))
{
bool isTarget = aParser.Find("Focus", "IsFocus")->GetValue().ToBool();
if(isTarget)
{
GetOwningApp()->GET<GraphicsManager>()->GetScreen()->GetView().SetTarget(aObject);
}
}
}