示例#1
0
    /// <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);
        }
    }
示例#2
0
    /// <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);
    }
示例#3
0
    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);
    }
示例#4
0
    /// <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);
    }