-/**
- * Class doing particle as well as their spawners handling
- */
-class ParticleManager
-{
-friend class ParticleSpawner;
-public:
- ParticleManager(ClientEnvironment* env);
- ~ParticleManager();
-
- void step (float dtime);
-
- void handleParticleEvent(ClientEvent *event, Client *client,
- LocalPlayer *player);
-
- void addDiggingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
- const MapNode &n, const ContentFeatures &f);
-
- void addPunchingParticles(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
- const MapNode &n, const ContentFeatures &f);
-
- void addNodeParticle(IGameDef *gamedef, LocalPlayer *player, v3s16 pos,
- const MapNode &n, const ContentFeatures &f);
-
-protected:
- void addParticle(Particle* toadd);
-
-private:
-
- void stepParticles (float dtime);
- void stepSpawners (float dtime);
-
- void clearAll ();
-
- std::vector<Particle*> m_particles;
- std::map<u32, ParticleSpawner*> m_particle_spawners;
+struct ParticleSpawnerParameters : CommonParticleParams {
+ u16 amount = 1;
+ v3f minpos, maxpos, minvel, maxvel, minacc, maxacc;
+ f32 time = 1;
+ f32 minexptime = 1, maxexptime = 1, minsize = 1, maxsize = 1;