package menus;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

import utilidades.Bot;
import utilidades.Personaje;

public class Battle extends Menu{
	
	Personaje p1;
	Bot p2;
	Texture suelo;
	float contador;
	boolean cambio;
	public Battle(String np1, String np2) {
		this.cambio=true;
		this.p2=new Bot(np2, true);
		this.p1=new Personaje(np1, false);
		this.p1.setEnemigo(p2.getCaja());
		this.p2.setEnemigo(p1.getCaja());
		suelo = new Texture("sueloChina.png");
	}
	
	@Override
	public int draw(SpriteBatch batch, float delta) {
		batch.draw(suelo,0,0);
		if (Gdx.input.isKeyPressed(Input.Keys.E)) {
			p1.cambiarEstado(p1.MEDIO);
		}else if(Gdx.input.isKeyPressed(Input.Keys.W)){
			p1.cambiarEstado(p1.ALTO);
		}else{
			p1.cambiarEstado(p1.STAND);
		}
		contador+=delta;
		if(contador>0.5) {
			if(cambio) {
				p2.cambiarEstado((int)Math.round(Math.random()*2));
				cambio=false;
			}
			if(contador>1) {
				contador=0;
				cambio=true;
			}
		}else {
			p2.cambiarEstado(p2.STAND);
		}
		p1.mover();
		p2.mover();
		p2.recivir(p1.atacar(delta));
		p1.recivir(p2.atacar(delta));
		this.p1.draw(batch, delta);
		this.p2.draw(batch, delta);
		return darSeleccionado();
	}

	@Override
	int darSeleccionado() {
		if(p1.muerto()||p2.muerto()) {
			Menu.menus.remove(Menu.BATTLE);
			return Menu.INICIAL;
		}
			
		return Menu.BATTLE;
	}
	
	public void dispose() {
		super.dispose();
		p1.dispose();
		p2.dispose();
	}

}
