# Functions
And chains together particle options into a single option for prebaking option sets.
Angle sets the initial angle of a particle in degrees.
Color sets colors on a Colorable.
Color2 sets more colors on a Colorable2.
DrawStack sets the current drawstack so that we dont use the globaldrawstack.
Duration sets how long a generator should produce particles for.
End sets what function should happen when a particle dies.
EndSize sets the end size of a Sizeable.
Fragile sets whether the particles from this collisionGenerator are destroyed on contact.
Gravity sets how a particle should be shifted over time in either dimension.
HitMap sets functions to be called when particles from this generator collide with other spaces.
InfiniteLifeSpan will set particles to never die over time.
Layer sets a function to determine what draw layer a particle should exist on.
LifeSpan sets how long a particle should last before dying.
Limit limits the total number of particles a particle generator can have active at once.
NewAllocator creates a new allocator.
NewCollisionGenerator creates a new collision generator.
NewColorGenerator returns a new color generator with some applied options.
NewDefaultSource creates a new sourceattached to the default event bus.
NewGradientGenerator returns a new GradientGenerator.
NewPerFrame sets how many particles should be produced per frame.
NewSource for particles constructed from a generator with specifications on how the particles should be handled.
NewSpriteGenerator creates a SpriteGenerator.
Pos sets the initial position of spawned particles.
Progress sets a Progresses' Progress Function.
Rotation rotates particles by a variable amount per frame.
Shape is an option to set a generator's shape.
Size is an option to set a Sizeable size.
Speed sets the initial speed of a particle.
SpeedDecay sets how the speed of a particle should decay.
Spread sets how far from a generator's position a particle can spawn.
Sprite sets a Sprited's sprite.
SpriteRotation sets a Sprited's rotation.
# Constants
IgnoreEnd refers to the life value given to particles that want to skip their source's end function.
# Variables
DefaultAllocator is an allocator that starts running as soon as this package is imported.
Inf represents Infinite duration.
# Structs
An Allocator can allocate ids for particles.
A BaseGenerator fulfills all basic requirements to generate particles Modeled after Parcycle.
A CollisionGenerator generates collision particles.
A CollisionParticle is a wrapper around other particles that also has a collision space and can functionally react with the environment on collision.
A ColorGenerator generates ColorParticles.
A ColorParticle is a particle with a defined color and size.
A GradientGenerator is a ColorGenerator with a patterned gradient on its particles.
A GradientParticle has a gradient from one color to another.
A Source is used to store and control a set of particles.
A SpriteGenerator generate SpriteParticles.
A SpriteParticle is a particle that has an amount of sprite rotation.
# Interfaces
A Colorable can have colors set on it.
A Colorable2 can have more colors set on it.
A Generator holds settings for generating particles.
A Particle is a renderable that is spawned by a generator, usually very fast, usually very small, for visual effects.
A Progresses has a SetProgress function where a progress function returns how far between two colors a given coordinate in a space is.
Shapeable generators can have the Shape option called on them.
A Sizeable is a generator that can have some size set to it.
A Sprited can have a sprite set to it.