aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particle/je_particle_emitter.h
blob: 95b7875c472bbfc814fb30058f58bbff18e00bcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef __JE_PARTICLE_EMITTER_H
#define __JE_PARTICLE_EMITTER_H

#include "../../common/je_temporary.h"
#include "../../math/je_vector2.hpp"

#include "je_particle.h"

namespace JinEngine
{
    namespace Graphics
    {

        ///
        /// Definition of particle emitter.
        ///
        struct ParticleEmitterDef : public Temporary
        {
            Math::Vector2<float> position; 

        };

        class ParticleEmitter
        {
        public:
            ParticleEmitter(const ParticleEmitterDef& def);

            ///
            /// Create new particle.
            ///
            Particle* emit();

            ///
            /// Emitter position.
            ///
            Math::Vector2<float> mPosition;

            ///
            ///
            ///
            float mDirection;

        };

    } // namespace Graphics
} // namespace JinEngine

#endif