aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particle/je_particle_emitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/particle/je_particle_emitter.h')
-rw-r--r--src/libjin/Graphics/particle/je_particle_emitter.h37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/libjin/Graphics/particle/je_particle_emitter.h b/src/libjin/Graphics/particle/je_particle_emitter.h
index e191e36..95b7875 100644
--- a/src/libjin/Graphics/particle/je_particle_emitter.h
+++ b/src/libjin/Graphics/particle/je_particle_emitter.h
@@ -1,5 +1,10 @@
-#ifndef __JE_PARTICLE_EMMITTER_H
-#define __JE_PARTICLE_EMMITTER_H
+#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
{
@@ -7,17 +12,37 @@ namespace JinEngine
{
///
- /// Particle emitter
+ /// 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;
- private:
+ ///
+ ///
+ ///
+ float mDirection;
};
- }
-}
+ } // namespace Graphics
+} // namespace JinEngine
#endif \ No newline at end of file