aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particles/je_particle.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-07 07:48:43 +0800
committerchai <chaifix@163.com>2018-11-07 07:48:43 +0800
commit78138dc8e08cebff3b8630cab5b54951061844b8 (patch)
tree8588451b96253bac7145f6a71b5bf128d3223c92 /src/libjin/Graphics/particles/je_particle.h
parent007695b3828c2ef32c6ae9c619dcdcf2b8633252 (diff)
*修改粒子系统
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;
};