diff options
Diffstat (limited to 'src/crepe/Particle.h')
-rw-r--r-- | src/crepe/Particle.h | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/crepe/Particle.h b/src/crepe/Particle.h index 3eaebc3..ee0cd66 100644 --- a/src/crepe/Particle.h +++ b/src/crepe/Particle.h @@ -2,56 +2,55 @@ #include <cstdint> -#include "api/Vector2.h" +#include "types.h" namespace crepe { /** * \brief Represents a particle in the particle emitter. * - * This class stores information about a single particle, including its position, - * velocity, lifespan, and other properties. Particles can be updated over time - * to simulate movement and can also be reset or stopped. + * This class stores information about a single particle, including its position, velocity, + * lifespan, and other properties. Particles can be updated over time to simulate movement and + * can also be reset or stopped. */ class Particle { - // TODO: add friend particleSsytem and rendersystem. Unit test will fail. - public: //! Position of the particle in 2D space. - Vector2 position; + vec2 position; //! Velocity vector indicating the speed and direction of the particle. - Vector2 velocity; + vec2 velocity; //! Accumulated force affecting the particle over time. - Vector2 force_over_time; + vec2 force_over_time; //! Total lifespan of the particle in milliseconds. - uint32_t lifespan; + float lifespan; //! Active state of the particle; true if it is in use, false otherwise. bool active = false; //! The time the particle has been alive, in milliseconds. - uint32_t time_in_life = 0; + float time_in_life = 0; //! The angle at which the particle is oriented or moving. - double angle = 0; + float angle = 0; /** * \brief Resets the particle with new properties. * - * This method initializes the particle with a specific lifespan, position, - * velocity, and angle, marking it as active and resetting its life counter. + * This method initializes the particle with a specific lifespan, position, velocity, and + * angle, marking it as active and resetting its life counter. * * \param lifespan The lifespan of the particle in amount of updates. * \param position The starting position of the particle. * \param velocity The initial velocity of the particle. * \param angle The angle of the particle's trajectory or orientation. */ - void reset(uint32_t lifespan, const Vector2 & position, - const Vector2 & velocity, double angle); + void reset(unsigned int lifespan, const vec2 & position, const vec2 & velocity, + float angle); /** * \brief Updates the particle's state. * - * Advances the particle's position based on its velocity and applies accumulated forces. + * Advances the particle's position based on its velocity and applies accumulated forces. * Deactivates the particle if its lifespan has expired. + * \param dt The amount of fixed delta time that has passed. */ - void update(); + void update(double dt); /** * \brief Stops the particle's movement. * |