From 78138dc8e08cebff3b8630cab5b54951061844b8 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 7 Nov 2018 07:48:43 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E7=B2=92=E5=AD=90=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/particles/je_particle.h | 42 +++++++++++++++-------------- 1 file changed, 22 insertions(+), 20 deletions(-) (limited to 'src/libjin/Graphics/particles/je_particle.h') 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 @@ -29,14 +29,6 @@ namespace JinEngine } life; }; - /// - /// - /// - struct LinearAccelaration - { - - }; - /// /// /// @@ -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 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 position; /// /// Emitte direction. @@ -143,7 +146,6 @@ namespace JinEngine Math::Vector2 speed; Math::Vector2 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; }; -- cgit v1.1-26-g67d0