aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particles/je_particle.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/particles/je_particle.h')
-rw-r--r--src/libjin/Graphics/particles/je_particle.h42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/libjin/Graphics/particles/je_particle.h b/src/libjin/Graphics/particles/je_particle.h
index 73803e8..2d112d1 100644
--- a/src/libjin/Graphics/particles/je_particle.h
+++ b/src/libjin/Graphics/particles/je_particle.h
@@ -32,14 +32,6 @@ namespace JinEngine
///
///
///
- struct LinearAccelaration
- {
-
- };
-
- ///
- ///
- ///
struct SpeedOverTimeDef
{
bool enable = false;
@@ -79,13 +71,23 @@ namespace JinEngine
} size;
};
- struct ColorOverTime
+ struct ColorOverTimeDef
{
bool enable = false;
Color colorStart = Color::WHITE;
Color colorEnd = Color::WHITE;
};
+ struct linearAccelarationDef
+ {
+ Math::Vector2<float> linearAccelaration;
+ };
+
+ struct RadialAccelarationDef
+ {
+ float radialAccelaration;
+ };
+
///
///
///
@@ -96,12 +98,13 @@ namespace JinEngine
public:
// Basic definitions.
- LifeTimeDef lifeTimeDef; ///<
+ LifeTimeDef lifeTimeDef; ///<
+ linearAccelarationDef linearAccelarationDef; ///<
+ RadialAccelarationDef radialAccelarationDef; ///<
// Optional definitions.
-
- SpeedOverTimeDef speedOverTimeDef; ///<
- SizeOverTimeDef sizeOverTimeDef; ///<
- ColorOverTime colorOverTimeDef; ///<
+ SpeedOverTimeDef speedOverTimeDef; ///<
+ SizeOverTimeDef sizeOverTimeDef; ///<
+ ColorOverTimeDef colorOverTimeDef; ///<
};
///
@@ -113,12 +116,12 @@ namespace JinEngine
///
/// Default constructor.
///
- Particle();
+ Particle() {};
///
- /// Initialize with given definition.
+ /// Reset to default.
///
- void initialize(const ParticleDef& particleDef);
+ void reset();
///
/// Whole life time.
@@ -133,7 +136,7 @@ namespace JinEngine
///
/// Current position.
///
- float position[2] = { 0,0 };
+ Math::Vector2<float> position;
///
/// Emitte direction.
@@ -143,7 +146,6 @@ namespace JinEngine
Math::Vector2<float> speed;
Math::Vector2<float> linearAcceleration;
float radialAcceleration = 0;
- float tangetialAcceleration = 0;
///
/// Size over lifetime.
@@ -165,7 +167,7 @@ namespace JinEngine
///
/// Is particle still alive? Alive is equivalent to NOT available in particle pool.
///
- bool alive = false;
+ bool alive = true;
};