source: GTP/trunk/App/Games/Jungle_Rumble/src/ParticleEmitter.h @ 1378

Revision 1378, 1.4 KB checked in by giegl, 18 years ago (diff)

GTPD - Jungle Rumble - integrate into GTP SVN structure

Line 
1#pragma once
2#include "ParticleCube.h"
3#include "Node.h"
4#include "Vector.h"
5#include "SoundNode.h"
6#include <ctime>
7
8class ParticleGroup;
9
10class ParticleEmitter :
11        public ParticleCube
12{
13public:
14        ParticleEmitter(void);
15        ~ParticleEmitter(void);
16
17        void setEMBirthRate(float _birthRate);
18        void setEMEmissionDuration(float _emissionDur);
19        void setEMParticleVelocity(float _velocity);
20        void setEMHorizontalDegree(float _horDegree);
21        void setEMVerticalDegree(float _verDegree);
22        void setEMRotationalDegree(float _rX, float _rY, float _rZ);
23        void setEMParticleLifeTime(float _particleLifeTime);
24    void setDeleteMeAfterEmission(bool _deleteMe);
25        void addRefNode(Node &node);
26        void setParticleGroup(ParticleGroup* _particleGroup);
27
28        virtual void update(float dt);
29        void restartEmitting();
30        bool isEmitting();
31
32        virtual void killMe();
33        virtual Node* clone();
34
35        void setUseHeatHaze(bool _use);
36        bool getUseHeatHaze();
37        void addEmittingSound(SoundNode* _sound);
38protected:
39        bool useHeatHaze;
40        bool emitting;
41        float birthRate;
42        float lifeTime;
43        float emissionDur;
44        float particleLifeTime;
45        float nextEmit;
46        float velocity;
47        float horDegree;
48        float verDegree;
49        unsigned int pid;
50        bool deleteMe;
51        std::vector<Node *> refNodeVector;
52        bool firstFrame;
53        int particleEmitted;
54        Vector rotDegree;
55        ParticleGroup* myParticleGroup;
56        SoundNode* sound;
57};
Note: See TracBrowser for help on using the repository browser.