175 glm::vec3 starting_position = glm::vec3(0.0f, 0.0f, 0.0f);
176 glm::vec3 starting_velocity = glm::vec3(0.0f, 0.0f, 0.0f);
177 glm::vec3 starting_spread = glm::vec3(0.0f, 0.0f, 0.0f);
178 float starting_time_to_live = 1.0f;
179 int num_particles = MAX_PARTICLES;
180 float spawn_rate = 0.01f;
182 std::string atlas_path =
"";
184 int atlas_height = 8;
189 builder &set_starting_position(glm::vec3 starting_position);
190 builder &set_starting_velocity(glm::vec3 starting_velocity);
191 builder &set_starting_spread(glm::vec3 starting_spread);
192 builder &set_starting_time_to_live(
float starting_time_to_live);
193 builder &set_num_particles(
int num_particles);
194 builder &set_spawn_rate(
float spawn_rate);
195 builder &set_scale(
float scale);
196 builder &set_atlas_path(std::string atlas_path);
197 builder &set_atlas_width(
int atlas_width);
198 builder &set_atlas_height(
int atlas_height);
199 builder &set_atlas_index(
int atlas_index);
Builder pattern for ParticleEmitter.
glm::vec3 starting_velocity
Starting velocity of a new particle.
~particle_emitter()
Destroy the ParticleEmitter object.
float starting_time_to_live
Time to live of a new particle.
void update_particles(float deltaTime)
Update the particles.
glm::vec3 starting_spread
Starting spread of a new particle.
glm::vec3 starting_position
Starting position of a new particle.