/// <summary> /// Permite agregar un item a la carta. /// </summary> /// <param name="idCarta">Identifier carta.</param> /// <param name="idItem">Identifier item.</param> public void AgregarItemCarta(int idCarta, int idItem) { Carta carta = BuscarCarta(idCarta); Item item = BuscarItem(idItem); bool progresoLleno = false; if (item.GetType() == typeof(Piedra)) { if (carta.Progreso.Piedra >= 100) { progresoLleno = true; } else { carta.AñadirPiedra(item.Cantidad); } } else { if (carta.Progreso.Pocion >= 100) { progresoLleno = true; } else { carta.AñadirPocion(item.Cantidad); } } if (!progresoLleno) { int exp = AñadirExperienciaJugador(); new AñadirItemCartaPrevisualizadaCommand(item).AñadirAlaCola(); new AñadirItemCartaCommand(carta, item).AñadirAlaCola(); new ShowMessageCommand("¡Obtienes " + exp + " puntos de experiencia!", 1f).AñadirAlaCola(); if (carta.Progreso.Piedra >= 100 && carta.Progreso.Pocion >= 100) { if (ExisteEvolucion(carta)) { new ShowMessageCommand("¡Ya puedes evolucionar la carta!", 1f).AñadirAlaCola(); } } BaseDatos.Instance.ActualizarItemCarta(carta, item); BaseDatos.Instance.ActualizarNivelYExperienciaBaseDatos(); } else { MessageManager.Instance.ShowMessage("¡El progreso de este item está lleno!", 2f); } }