43 lines
881 B
C++
43 lines
881 B
C++
/* -----------------------------------------------------------------------------
|
|
GSFramework
|
|
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
|
----------------------------------------------------------------------------- */
|
|
|
|
|
|
#ifndef __NMEMITTER__
|
|
#define __NMEMITTER__
|
|
|
|
|
|
#include "scene3d/mitem.h"
|
|
#include "core/emitter.h"
|
|
|
|
|
|
namespace GS {
|
|
namespace S3D {
|
|
|
|
/*!
|
|
@short Managed emitter.
|
|
@author Emmanuel Julien (ejulien@gsworks.fr)
|
|
*/
|
|
struct MEmitter : public MItem, public Core::Emitter
|
|
{
|
|
static MItemType GetMItemClassType() { return Type_Emitter; }
|
|
|
|
void Update(const Time &);
|
|
void Setup(PhysicWorld *);
|
|
|
|
virtual Core::Item *GetBaseItem() { return this; }
|
|
virtual Core::Renderable *GetRenderable() { return this; }
|
|
|
|
virtual bool FromMetaTag(NML::Tag &);
|
|
virtual NML::Tag *AsMetaTag();
|
|
|
|
MEmitter();
|
|
};
|
|
|
|
} // S3D
|
|
} // GS
|
|
|
|
|
|
#endif // __NMEMITTER__
|