/// <summary> /// Muestra los premios obtenidos en la partida para el jugador usuario. /// </summary> /// <param name="carta">Carta.</param> /// <param name="items">Items.</param> /// <param name="experiencia">Experiencia.</param> public void MostrarPremioPartida(Carta carta, List <Item> items, int experiencia) { puntosExp.text = "ENHORABUENA, HAS OBTENIDO " + experiencia.ToString() + " PUNTOS DE EXP"; PremioPartidaPanel.SetActive(true); if (carta != null) { CartaBase asset = carta.AssetCarta; int progresoTrebol = carta.Progreso.Piedra; int progresoPocion = carta.Progreso.Pocion; GameObject cartaGobj = Instantiate(ObjetosGenerales.Instance.CardInventario, transform); OneCardManager manager = cartaGobj.GetComponent <OneCardManager>(); ProgresoVisual progreso = cartaGobj.GetComponent <ProgresoVisual>(); manager.CartaAsset = asset; progreso.PorcentajeProgresoPiedra = progresoTrebol; progreso.PorcentajeProgresoPocion = progresoPocion; manager.LeerDatos(); progreso.LeerProgreso(); cartaGobj.transform.SetParent(horizontalLayoutGroup.gameObject.transform); } GameObject itemGobj; foreach (Item item in items) { itemGobj = Instantiate(ObjetosGenerales.Instance.ItemInventario, transform); OneItemManager manager = itemGobj.GetComponent <OneItemManager>(); manager.Item = item; manager.LeerDatosItem(); itemGobj.transform.SetParent(horizontalLayoutGroup.gameObject.transform); } }
/// <summary> /// Devuelve una carta a partir de la posición indexada en la mano del jugador. /// </summary> /// <returns>The carta por posicion.</returns> /// <param name="c">C.</param> /// <param name="position">Position.</param> /// <param name="eulerAngles">Euler angles.</param> GameObject CrearCartaPorPosicion(CartaPartida c, Vector3 position, Vector3 eulerAngles) { // Instantiate a card depending on its type GameObject card; // this card is a creature card card = GameObject.Instantiate(ObjetosGenerales.Instance.CardPrefab, position, Quaternion.Euler(eulerAngles)) as GameObject; // apply the look of the card based on the info from CardAsset OneCardManager manager = card.GetComponent <OneCardManager>(); manager.CartaAsset = c.AssetCarta; manager.LeerDatos(); return(card); }
private GameObject CrearCarta(Carta carta) { CartaBase asset = carta.AssetCarta; int progresoPiedra = carta.Progreso.Piedra; int progresoPocion = carta.Progreso.Pocion; GameObject elemento = Instantiate(ObjetosGenerales.Instance.CardInventario, transform); elemento.GetComponent <BoxCollider2D> ().size = gridLayoutGroup.cellSize; IDHolder id = elemento.AddComponent <IDHolder>(); id.UniqueID = carta.ID; OneCardManager manager = elemento.GetComponent <OneCardManager>(); ProgresoVisual progreso = elemento.GetComponent <ProgresoVisual>(); manager.CartaAsset = asset; progreso.PorcentajeProgresoPiedra = progresoPiedra; progreso.PorcentajeProgresoPocion = progresoPocion; manager.LeerDatos(); progreso.LeerProgreso(); elemento.transform.SetParent(gridLayoutGroup.gameObject.transform); return(elemento); }
/// <summary> /// Permite evolucionar la carta. /// </summary> /// <param name="cartaG">Carta g.</param> public void EvolucionarCarta(GameObject cartaG) { Carta carta = BuscarCarta(cartaG.GetComponent <IDHolder>().UniqueID); //Buscamos la evolución KeyValuePair <string, CartaBase> evolucion = BuscarEvolucion(carta.AssetCarta.Familia, carta.AssetCarta.Evolucion, carta.AssetCarta.IDEvolucion); //modificamos el progreso de la carta restando las 100 unidades necesarias para evolucionar carta.Progreso.Piedra -= 100; carta.Progreso.Pocion -= 100; carta.IdAsset = evolucion.Key; carta.AssetCarta = evolucion.Value; OneCardManager manager = cartaG.GetComponent <OneCardManager>(); ProgresoVisual progreso = cartaG.GetComponent <ProgresoVisual>(); //modificamos el asset de la carta seleccionada actual y lo cambiamos por la evolución manager.CartaAsset = evolucion.Value; //actualizamos en la carta visual el progreso progreso.PorcentajeProgresoPiedra = carta.Progreso.Piedra > 100 ? 100: carta.Progreso.Piedra; progreso.PorcentajeProgresoPocion = carta.Progreso.Pocion > 100 ? 100: carta.Progreso.Pocion; manager.LeerDatos(); progreso.LeerProgreso(); MessageManager.Instance.ShowMessage("¡Una nueva carta ha aparecido!", 2f); BaseDatos.Instance.ActualizarCartaBaseDatos(carta); }