5#ifndef DCPP_I_PARTICLE_EMITTER_HPP_INCLUDED
6#define DCPP_I_PARTICLE_EMITTER_HPP_INCLUDED
8#include <duckcpp/core/engine/IAttributeExchangingObject.hpp>
9#include <duckcpp/core/engine/SParticle.hpp>
121using IParticlePointEmitter = IParticleEmitter;
An object which is able to serialize and deserialize its attributes into an attributes object.
Definition IAttributeExchangingObject.hpp:54
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
A particle emitter for using with particle systems.
Definition IParticleEmitter.hpp:46
virtual void setMaxStartSize(const nub::dimension2df &size)=0
Set the maximum starting size for particles.
virtual u32 getMaxLifeTime() const =0
Get the maximum particle life-time in milliseconds.
virtual u32 getMinParticlesPerSecond() const =0
Get the minimum number of particles the emitter emits per second.
virtual E_PARTICLE_EMITTER_TYPE getType() const
Get emitter type.
Definition IParticleEmitter.hpp:118
virtual void setMaxAngleDegrees(i32 maxAngleDegrees)=0
Set maximal random derivation from the direction.
virtual void setMinLifeTime(u32 lifeTimeMin)=0
Set the minimum particle life-time in milliseconds.
virtual const nub::dimension2df & getMaxStartSize() const =0
Get the maximum starting size for particles.
virtual void setMinStartColor(const video::SColor &color)=0
Set minimum starting color for particles.
virtual void setMaxParticlesPerSecond(u32 maxPPS)=0
Set maximum number of particles the emitter emits per second.
virtual i32 emitt(u32 now, u32 timeSinceLastCall, SParticle *&outArray)=0
Prepares an array with new particles to emit into the system.
virtual u32 getMaxParticlesPerSecond() const =0
Get the maximum number of particles the emitter emits per second.
virtual const video::SColor & getMinStartColor() const =0
Get the minimum starting color for particles.
virtual void setMinStartSize(const nub::dimension2df &size)=0
Set the minimum starting size for particles.
virtual const nub::dimension2df & getMinStartSize() const =0
Get the minimum starting size for particles.
virtual void setMaxStartColor(const video::SColor &color)=0
Set maximum starting color for particles.
virtual const nub::vector3df & getDirection() const =0
Get direction the emitter emits particles.
virtual void setDirection(const nub::vector3df &newDirection)=0
Set direction the emitter emits particles.
virtual const video::SColor & getMaxStartColor() const =0
Get the maximum starting color for particles.
virtual u32 getMinLifeTime() const =0
Get the minimum particle life-time in milliseconds.
virtual void setMaxLifeTime(u32 lifeTimeMax)=0
Set the maximum particle life-time in milliseconds.
virtual i32 getMaxAngleDegrees() const =0
Get maximal random derivation from the direction.
virtual void setMinParticlesPerSecond(u32 minPPS)=0
Set minimum number of particles the emitter emits per second.
Class for holding particle data.
Definition SParticle.hpp:18
Class representing a 32 bit ARGB color.
Definition SColor.hpp:317
E_PARTICLE_EMITTER_TYPE
Types of built in particle emitters.
Definition IParticleEmitter.hpp:18
const c8 *const ParticleEmitterTypeNames[]
Names for built in particle emitters.
Definition IParticleEmitter.hpp:30
As of Duckcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
char c8
8 bit character variable.
Definition irrTypes.hpp:37
signed int i32
32 bit signed variable.
Definition irrTypes.hpp:72
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64