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.Personaje;
import utilidades.Personaje2;

public class Battle2 extends Menu{
	Personaje p1;
	Personaje2 p2;
	Texture suelo;
	long tiempo;
	long aux;
	public Battle2(String np1, String np2) {
		this.tiempo=System.currentTimeMillis();
		this.p2=new Personaje2(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(Personaje.MEDIO);
		}else if(Gdx.input.isKeyPressed(Input.Keys.W)){
			p1.cambiarEstado(Personaje.ALTO);
		}else if(Gdx.input.isKeyPressed(Input.Keys.S)){
			p1.cambiarEstado(Personaje.BAJO);
		}else{
			p1.cambiarEstado(Personaje.STAND);
		}
		
		if (Gdx.input.isKeyPressed(Input.Keys.O)) {
			p2.cambiarEstado(Personaje.MEDIO);
		}else if(Gdx.input.isKeyPressed(Input.Keys.I)){
			p2.cambiarEstado(Personaje.ALTO);
		}else if(Gdx.input.isKeyPressed(Input.Keys.K)){
			p2.cambiarEstado(Personaje.BAJO);
		}else{
			p2.cambiarEstado(Personaje.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);
		if(p1.muerto()) {
			String puntos = ""+(aux-this.tiempo)/1000;
			font.draw(batch, "Ha ganado el jugador 2 en "+puntos+"s", Gdx.graphics.getWidth()/7,Gdx.graphics.getHeight()/2.6f);
		}else if(p2.muerto()){
			String puntos = ""+(aux-this.tiempo)/1000;
			font.draw(batch, "Ha ganado el jugador 1 en "+puntos+"s", Gdx.graphics.getWidth()/7,Gdx.graphics.getHeight()/2.6f);
		}else {
			aux=System.currentTimeMillis();
		}
		
		return darSeleccionado();
	}

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