package com.rzg.zombieland.server.comunicacion.controlador;
import com.google.gson.Gson;
import com.rzg.zombieland.comunes.comunicacion.respuesta.RespuestaGenerica;
import com.rzg.zombieland.comunes.misc.Log;
import com.rzg.zombieland.comunes.misc.ZombielandException;
import com.rzg.zombieland.server.sesion.ManejadorSesion;
/**
* Maneja abandonar una partida.
* @author nicolas
*
*/
public class ControladorAbandonarPartida extends ControladorConSesion {
/**
* Crea un controlador de abandono de partida.
* @param manejadorSesion
* @throws ZombielandException
*/
public ControladorAbandonarPartida(ManejadorSesion manejadorSesion) {
super(manejadorSesion);
}
@Override
public String procesarAutenticado(String linea) {
Gson gson = new Gson();
try {
getSesion().setPartida(null);
} catch (ZombielandException e) {
return gson.toJson(new RespuestaGenerica(e.getMessage()));
}
Log.debug("El jugador " + getSesion().getJugador().getNombre() + " ha abandonado una partida.");
return gson.toJson(new RespuestaGenerica());
}
}