Skip to main content

ParticleEmitter

Struct ParticleEmitter 

Source
pub struct ParticleEmitter { /* private fields */ }
Expand description

A point emitter that continuously (or in bursts) spawns particles, integrates their motion, and records them into a DrawList as colored circles whose color and size interpolate over each particle’s lifetime.

Implementations§

Source§

impl ParticleEmitter

Implements creation, simulation, and rendering for ParticleEmitter.

Source

pub fn create(position: Vector2D, config: ParticleConfig) -> ParticleEmitter

Creates an active emitter at the given position with the given config.

§Arguments
  • Vector2D - The world-space emission point.
  • ParticleConfig - The emitter configuration.
§Returns
  • ParticleEmitter - The new emitter.
Source

pub fn with_defaults(position: Vector2D) -> ParticleEmitter

Creates an active emitter at the given position using the default configuration.

§Arguments
  • Vector2D - The world-space emission point.
§Returns
  • ParticleEmitter - The new emitter.
Source

pub fn update(&mut self, delta_time: f64)

Advances the emitter by the given delta time: spawns new particles from the emission budget while active, integrates motion and gravity, and removes expired particles.

§Arguments
  • f64 - The time elapsed since the last update, in seconds.
Source

pub fn burst(&mut self, count: usize)

Spawns the given number of particles immediately, regardless of the active flag, clamped to the remaining particle capacity.

§Arguments
  • usize - The number of particles to spawn.
Source

pub fn render(&self, draw_list: &mut DrawList)

Records all live particles into the given draw list as filled circles.

Each particle’s color and radius are interpolated between the configured start and end values by its normalized age.

§Arguments
  • &mut DrawList - The draw list to record commands into.
Source

pub fn alive_count(&self) -> usize

Returns the number of currently live particles.

§Returns
  • usize - The live particle count.
Source

pub fn clear(&mut self)

Removes all live particles without changing the active flag.

Source§

impl ParticleEmitter

Source

pub fn get_mut_config(&mut self) -> &mut ParticleConfig

Source

pub fn get_active(&self) -> bool

Source

pub fn get_mut_active(&mut self) -> &mut bool

Source§

impl ParticleEmitter

Source

pub fn new(position: Vector2D, config: ParticleConfig) -> Self

Trait Implementations§

Source§

impl Clone for ParticleEmitter

Source§

fn clone(&self) -> ParticleEmitter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ParticleEmitter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ParticleEmitter

Source§

fn eq(&self, other: &ParticleEmitter) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ParticleEmitter

Source§

impl Updatable for ParticleEmitter

Forwards ParticleEmitter::update through the Updatable trait so emitters can participate in the same generic update loop as entities, animators, scenes, and physics worlds.

Source§

fn update(&mut self, delta_time: f64)

Advance the object’s internal state by the given delta time. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more