/* * see license.txt */ package seventh.client.gfx.effects.particle_system; import com.badlogic.gdx.graphics.g2d.Sprite; import seventh.client.gfx.Camera; import seventh.client.gfx.Canvas; import seventh.client.gfx.effects.particle_system.Emitter.ParticleRenderer; import seventh.math.Vector2f; import seventh.shared.TimeStep; /** * Renders the Sprite associated with the particle * * @author Tony * */ public class SpriteParticleRenderer implements ParticleRenderer { @Override public void update(TimeStep timeStep, ParticleData particles) { } @Override public void render(Canvas canvas, Camera camera, float alpha, ParticleData particles) { Vector2f cameraPos = camera.getRenderPosition(alpha); for(int i = 0; i < particles.numberOfAliveParticles; i++) { Sprite sprite = particles.sprite[i]; Vector2f pos = particles.pos[i]; sprite.setPosition(pos.x - cameraPos.x, pos.y - cameraPos.y); sprite.setScale(particles.scale[i]); sprite.setColor(particles.color[i]); sprite.setRotation(particles.rotation[i]); canvas.drawRawSprite(sprite); } } }