00001
00002
00003
00004
00005
00006 #ifndef PARTICLEMANAGER_H
00007 #define PARTICLEMANAGER_H
00008
00009 #include<Vertex3.h>
00010 #include<ParticleSystem.h>
00011 #include<RenderContext.h>
00012
00013 #include<vector>
00014
00015 class World;
00016 class WDFFile;
00017
00020 class ParticleManager
00021 {
00022 public:
00023 ParticleManager();
00024 ~ParticleManager();
00025 void init();
00026
00027 void addParticleSystem(ParticleSystem *sytem);
00028 void deleteParticleSystem(ParticleSystem *sytem);
00029
00030 void update(World &world);
00031 void render(RenderContext &rc);
00032 void write(WDFFile &f);
00033
00034 private:
00035 typedef vector<ParticleSystem*> ParticleSystemList;
00036
00037 static unsigned int gaussTexture;
00038 unsigned int createTexture(const string &name);
00039
00040 ParticleSystemList system;
00041 };
00042
00043 #endif