package com.space.invaders.controladores;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.space.invaders.controladores.base.ControladorEstadoJuegoBase;
import com.space.invaders.entidades.Jugador;
import com.space.invaders.entidades.menu.ElementoMenu;
import com.space.invaders.interfaces.controladores.IControlador;
import com.space.invaders.interfaces.mensajes.IColega;
import com.space.invaders.interfaces.mensajes.IMediador;
import com.space.invaders.modelos.ModeloMenuPrincipal;
import com.space.invaders.navegacion.AdministradorNavegacion;
import com.space.invaders.navegacion.NombreRuta;
import com.space.invaders.vistas.VistaMenuPrincipal;

public class ControladorMenuPrincipal extends ControladorEstadoJuegoBase implements IColega {
	
	private IMediador mediador;
	private VistaMenuPrincipal vistaMenuPrincipal;
	private ModeloMenuPrincipal modeloMenuPrincipal;
	
	public ControladorMenuPrincipal() {
		vistaMenuPrincipal = new VistaMenuPrincipal(this);	
		modeloMenuPrincipal = new ModeloMenuPrincipal();
	}
	
	@Override
	public void inicializar() {

		System.out.println("Iniciando ControladorMenuPrincipal");
		vistaMenuPrincipal.inicializar();
		vistaMenuPrincipal.setElementosMenu(modeloMenuPrincipal.getElementosMenu());
		
		//AdministradorNavegacion.getInstancia().navegar(NombreRuta.Juego);
		
		//Jugador jugador = new Jugador("Wilmer", "WBZ");
		//mediador.enviarMensaje(this, "This is a test message from MenuPrincipal: ", jugador);
	}

	@Override
	public void setMediador(IMediador mediador) {
		this.mediador = mediador;
	}

	@Override
	public void recibirMensaje(String mensaje, Object data) {
		// TODO Auto-generated method stub
	}

	@Override
	public void actualizar(float deltaTiempo) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void renderizar() {
		// TODO Auto-generated method stub
		vistaMenuPrincipal.renderizar();
	}

	@Override
	public void manejarEntradas() {
		
		if(Gdx.input.isKeyJustPressed(Input.Keys.ENTER)) {
			System.out.println("ENTER Menu!");
			
			ElementoMenu elementoMenuActual = modeloMenuPrincipal.getElementoMenuActual();
			
			if(elementoMenuActual!=null && elementoMenuActual.getNombreRuta() == NombreRuta.Salir) {
				Gdx.app.exit();
			}
			
		}
		
		if(Gdx.input.isKeyJustPressed(Input.Keys.UP)) {
			System.out.println("Move menu UP!");
			modeloMenuPrincipal.moverElementoAnterior();
		}
		
		if(Gdx.input.isKeyJustPressed(Input.Keys.DOWN)) {
			System.out.println("Move menu DOWN!");
			modeloMenuPrincipal.moverElementoSiguiente();
		}
		
	}

	@Override
	public void dispose() {
		// TODO Auto-generated method stub
		vistaMenuPrincipal.dispose();
	}

}
@@ -2282,16 +2282,50 @@
 lir) %7B%0D%0A
+%09%09%09%09System.out.println(%22Salir%22);%0D%0A
 %09%09%09%09Gdx.

add message test