#!/usr/bin/env python
# encoding: iso-8859-15
#
#Minë. Mundo Interactivo-Narrativo en Español [Tierra-Media]
#Copyright (C) 2002  Pablo Ruiz Múzquiz
#
#
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
#Fichero: DialogoInicial.py

"""Clase DialogoInicial."""

import logging
from logo import *
from utils import *
import Dialogo

log = logging.getLogger("Dialogos")

class DialogoInicial(Dialogo.Dialogo):
    """Dialogo mantenido con el jugador cuando se conecta, para decidir
    si crea un personaje nuevo o carga uno ya existente.
    """

    def __init__(self, padre, conn):
        Dialogo.Dialogo.__init__(self, padre, conn)
	log.info("Creado diálogo inicial con un jugador")

	self.conn().send(color(33), 0)
 	for linea in logo().splitlines():
 	    self.conn().send(linea)
 	self.conn().send(finl, 0)

        self.estado_0()

    def estado_4000(self):
        self.poner_estado(4000)
        self.conn().send("¿Tu terminal admite colores? (s/n): ",0)

    def comando_4000(self, cmd_list):
        respuesta = (len(cmd_list) > 0 and cmd_list[0]) or ""
        if respuesta == "s":
            color = color_si
        elif respuesta == "n":
            color = color_no
            finl = chr(27)

        self.estado_0(color)

    def estado_0(self):
        self.poner_estado(0)
        self.conn().send(color(32) + \
	                 '¿Qué deseas hacer, (r) recuperar, (c) crear un personaje o (s) salir?: ' + finl, 0)


    def comando_0(self, cmd_list):
	import DialogoCrear
	import DialogoRecuperar

        dlg_siguiente = None

        letra = (len(cmd_list) > 0 and cmd_list[0]) or ""
        if letra == "r":
	    self.conn().send('Recuperar')
            dlg_siguiente = DialogoRecuperar.DialogoRecuperar(self.padre(), self.conn())
        elif letra == "c":
	    self.conn().send('Crear')
	    dlg_siguiente = DialogoCrear.DialogoCrear(self.padre(), self.conn())
	elif letra == "s":
	    self.padre().desconectar()
        else:
            self.conn().send("Por favor, introduce r o c")
            self.estado_0()

	return dlg_siguiente
	    
	    
# Código para pruebas unitarias del módulo.

if (__name__ == '__main__'):
    print "No hay código para pruebas unitarias del módulo."
    print "Para probar, ejecutar mine.py y conectarse via telnet."

