def saludar(self):
     if not self.bienvenida:
         self.bienvenida = Bienvenida()
         self.tweener.addTween(self.bienvenida, y = 0, tweenTime = 0.2, tweenType = engine.pytweener.Easing.Linear.easeIn)
     else:
         self.bienvenida.nombre = engine.obtener_usuario().nombre
class MenuInicio(Escena):
    def __init__(self):
        Escena.__init__(self)
        self.fondo = engine.cargar_imagen("inicial.jpg")
        self.boton_ad = Boton(508, 83, engine.cargar_imagen("boton7.png", True), comando = self.adventure)
        self.bienvenida = None
        self.cuadro_creacion = None
        self.cuadro_quien = None
        self.tweener = engine.pytweener.Tweener()
        self.cargar_ultimo_usuario()
        self.rect_clic = engine.pygame.Rect(900, 645, 64, 34)
    def cargar_ultimo_usuario(self):
        id_user = None
        conn = sqlite3.connect('recursos/data.db')
        cursor = conn.cursor()
        cursor.execute("select id_usuario from sesion where acceso = (select MAX(acceso) from sesion);")
        obtenido = cursor.fetchone()
        if obtenido: id_user = obtenido[0]
        if id_user:
            cursor.execute("select nombre from usuario where id=?;", (id_user,))
            nombre = cursor.fetchone()[0]
            plantas = []
            objetos = []
            cursor.execute("select * from carta where id in (select id_carta from usuario_carta where id_usuario = ?);", (id_user,))
            for row in cursor:
                clase = None
                clasebase = None
                exec("clase = {}".format(row[3]))
                exec("clasebase = {}".format(row[10]))
                plantas.append(Carta(engine.pygame.Rect(row[1], row[2], 62, 87), clase, row[4], row[5], row[6], row[7], row[8], row[9], clasebase))
            cursor.execute("select * from objeto where id in (select id_objeto from usuario_objeto where id_usuario = ?);", (id_user,))
            for row in cursor:
                objetos.append(row[1])
            engine.definir_usuario(Usuario(id_user, nombre, plantas, objetos))
            self.saludar()
        else:
            self.cuadro_creacion = CuadroCreacion()
        conn.close()
    def saludar(self):
        if not self.bienvenida:
            self.bienvenida = Bienvenida()
            self.tweener.addTween(self.bienvenida, y = 0, tweenTime = 0.2, tweenType = engine.pytweener.Easing.Linear.easeIn)
        else:
            self.bienvenida.nombre = engine.obtener_usuario().nombre
    def dibujar(self, superficie):
        superficie.blit(self.fondo, (0, 0))
        self.boton_ad.dibujar(superficie)
        if self.bienvenida: self.bienvenida.dibujar(superficie)
        if self.cuadro_quien: self.cuadro_quien.dibujar(superficie)
        if self.cuadro_creacion: self.cuadro_creacion.dibujar(superficie)
    def actualizar(self, tiempo):
        if self.tweener.hasTweens():
            self.tweener.update(tiempo / 1000.0)
        if self.cuadro_creacion: self.cuadro_creacion.actualizar(tiempo)
        if self.bienvenida: self.bienvenida.actualizar(tiempo)
        if self.cuadro_quien: self.cuadro_quien.actualizar(tiempo)
    def verificar_eventos(self, evento):
        if self.cuadro_creacion: 
            self.cuadro_creacion.verificar_eventos(evento)
        elif self.cuadro_quien: 
            self.cuadro_quien.verificar_eventos(evento)
        else:
            self.boton_ad.verificar_eventos(evento)
            self.bienvenida.verificar_eventos(evento)
        if evento.type == locals.MOUSEBUTTONDOWN and evento.button == 1:
            if self.rect_clic.collidepoint(evento.pos[0], evento.pos[1]):
                engine.obtener_director().salir()
    def adventure(self):
        #belsprout = Carta((0, 0, 62, 87), LanzaGuisantes, 100, "tierra", 8)
        #gira = Carta((65, 0, 62, 87), Girasol, 50, "tierra", 5)
        #gato = Carta((195, 488, 62, 87), ColaDeGato, 225, "agua", 12)
        #nenufar = Carta((0, 195, 62, 87), Nenufar, 25, "agua", 6)
        e = Supervivencia()
        for c in engine.obtener_usuario().plantas:
            e.cuadro_eleccion.agregar_carta(c)
        engine.obtener_director().set_escena(e)
        engine.obtener_director().escena_actual.imagen_cartas = engine.cargar_imagen("cartas.jpg")
        engine.obtener_director().escena_actual.imagen_charge = engine.cargar_imagen("charge.png", True)
        engine.obtener_director().escena_actual.imagen_nosoles = engine.cargar_imagen("nosoles.png", True)
    def survival(self):
        pass
    def creditos(self):
        pass
    def salir(self):
        pass