package utilidades;

import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;

public class Gifs {
	private Texture textura;
	private TextureRegion[] frames;
	private int n_estados;
	private float contadorEstado;
	
	public Gifs(String ruta, int n_estados, int inicio_image, int desplazamiento, 
			int anchura, int x, int y, boolean flip) {
		textura = new Texture(ruta);
		this.n_estados = n_estados;
		frames = new TextureRegion[n_estados];
		for(int i = 0; i<n_estados; i++) {
			frames[i] = new TextureRegion(textura, inicio_image+(i*desplazamiento)
					, anchura, x, y);
			frames[i].flip(flip, false);
		}
	}
	
	public Gifs(String nombre, int n_estados, boolean flip) {
		this.n_estados=n_estados;
		frames = new TextureRegion[n_estados];
		for(int i = 0; i<n_estados; i++) {
			frames[i] = new TextureRegion(new Texture(nombre+(i+1)+".png"));
			frames[i].flip(flip, false);
		}
	}
	public void avanzar(int speed, float delta) {
		this.contadorEstado+=delta*speed;
		if(this.contadorEstado > this.n_estados) {
			this.contadorEstado=0;
		}
	}
	public void draw(SpriteBatch batch, float x, float y) {
		batch.draw(this.frames[(int)contadorEstado], x, y);
	}
	public void dispose() {
		this.textura.dispose();
	}
}
