est-render 0.2.52

Easy to use winit, softbuffer & wgpu abstractions
Documentation
use crate::math::RectF;
use super::Texture;

pub struct Sprite {
    pub texture: Texture,
    texcoords: Vec<RectF>,
    index: usize,

    delay: f32,
    elapsed: f32,
}

impl Sprite {
    pub fn update(&mut self, dt: f32) {
        self.elapsed += dt;
        if self.elapsed >= self.delay {
            self.elapsed = 0.0;
            self.index = (self.index + 1) % self.texcoords.len();
        }
    }

    pub fn reset(&mut self) {
        self.index = 0;
        self.elapsed = 0.0;
    }

    pub fn current_texcoords(&self) -> RectF {
        self.texcoords[self.index]
    }

    pub fn texture(&self) -> &super::Texture {
        &self.texture
    }
}