V-Gears 0
Free Final Fantasy VII engine.
ParticleEmitterFactory.h
Go to the documentation of this file.
1#ifndef PARTICLE_EMITTER_FACTORY_H
2#define PARTICLE_EMITTER_FACTORY_H
3
4#include "ParticleEmitter.h"
5
6
7
9{
10public:
13
14 virtual Ogre::String GetEmitterType() const = 0;
15
17
19 {
20 if (emitter != NULL)
21 {
22 delete emitter;
23 }
24 };
25
26protected:
27 template <class T>
29 {
30 ParticleEmitter* particle_emitter = new T();
31 particle_emitter->SetEmitterType(GetEmitterType());
32 return particle_emitter;
33 };
34};
35
36
37
38#endif // PARTICLE_EMITTER_FACTORY_H
Definition: ParticleEmitterFactory.h:9
virtual ~ParticleEmitterFactory()
Definition: ParticleEmitterFactory.h:12
void DestroyEmitter(ParticleEmitter *emitter)
Definition: ParticleEmitterFactory.h:18
ParticleEmitterFactory()
Definition: ParticleEmitterFactory.h:11
virtual ParticleEmitter * CreateEmitter()=0
ParticleEmitter * CreateEmitter_()
Definition: ParticleEmitterFactory.h:28
virtual Ogre::String GetEmitterType() const =0
A particle emitter.
Definition: ParticleEmitter.h:27
void SetEmitterType(const Ogre::String &emitter_type)
Sets the emitter type.
Definition: ParticleEmitter.h:108
Ogre::String String
Definition: TypeDefine.h:37