Files
Webcam/include/engine/scene3d/memitter_nml.cpp

40 lines
1.2 KiB
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "scene3d/memitter.h"
#include "log/log.h"
using namespace GS::S3D;
using namespace GS::NML;
//------------------------------------------------------------------------------
bool MEmitter::FromMetaTag(Tag &tag)
{
if (tag.name != "MEmitter")
__ERR__(__LOG_E__ << "could not parse managed emitter, incorrect root tag (" << tag.name << ").\n", false)
// Parse root tags.
NMLTagForeach(pt, tag)
{
if (pt->name == "MItem") MItem::FromMetaTag(*pt);
else if (pt->name == "Emitter") Emitter::FromMetaTag(*pt);
else __LOG_W__ << "Unknown tag '" << pt->name << "' in <MEmitter>.\n";
}
return true;
}
Tag *MEmitter::AsMetaTag()
{
Tag *root = new Tag("MEmitter");
if (!root)
__ERR__(__LOG_E__ << "Could not create root tag to serialize.\n", NULL)
root->AddChild(MItem::AsMetaTag());
root->AddChild(Emitter::AsMetaTag());
return root;
}
//------------------------------------------------------------------------------