Ejemplo n.º 1
0
    /// <summary>
    /// Función que permite jugar una carta al jugador.
    /// </summary>
    public override void EmpezarEjecucionComanda()
    {
        //Eliminar la carta de la mano del jugador y elimina el gameobject
        HandVisual PlayerHand = Controlador.Instance.AreaJugador(p).manoVisual;
        //TODO se podria hacer que el id de la carta pase a ser el id de la criatura
        GameObject card = IDHolder.GetGameObjectWithID(cl.ID);

        PlayerHand.EliminarCarta(card);
        IDHolder.EliminarElemento(card.GetComponent <IDHolder>());
        GameObject.Destroy(card);
        //Permite la previsualizacion de cartas
        //HoverPreview.PrevisualizacionesPermitidas = true;
        OpcionesObjeto.PrevisualizacionesPermitidas = true;
        // Añade la carta en el tablero
        PlayerArea areaJugador = Controlador.Instance.AreaJugador(p);

        if (ente.GetType() == typeof(Magica))
        {
            areaJugador.tableVisual.AñadirMagica(cl.AssetCarta, ente.ID, tablePos);
        }
        else
        {
            if (((Criatura)ente).PosicionCriatura.Equals(PosicionCriatura.ATAQUE))
            {
                areaJugador.tableVisual.AñadirCriaturaAtaque(cl.AssetCarta, ente.ID, tablePos);
            }
            else
            {
                areaJugador.tableVisual.AñadirCriaturaDefensa(cl.AssetCarta, ente.ID, tablePos);
            }
        }
    }
Ejemplo n.º 2
0
 private void VaciarElementos()
 {
     for (int i = 0; i < gridLayoutGroup.transform.childCount; i++)
     {
         IDHolder.EliminarElemento(gridLayoutGroup.transform.GetChild(i).gameObject.GetComponent <IDHolder>());
         Destroy(gridLayoutGroup.transform.GetChild(i).gameObject);
     }
 }
Ejemplo n.º 3
0
    /// <summary>
    /// Función que añade el item al script  progreso visual incoporado al gameobject de la carta.
    /// </summary>
    public override void EmpezarEjecucionComanda()
    {
        GameObject cartaG   = IDHolder.GetGameObjectWithID(carta.ID);
        GameObject itemG    = IDHolder.GetGameObjectWithID(item.ID);
        int        tipoItem = item.GetType() == typeof(Piedra) ? 1 : 0;

        cartaG.GetComponent <ProgresoVisual> ().AñadirItem(tipoItem, item.Cantidad);
        IDHolder.EliminarElemento(itemG.GetComponent <IDHolder> ());
        GameObject.Destroy(itemG);
        Comandas.Instance.CompletarEjecucionComanda();
    }
Ejemplo n.º 4
0
 /// <summary>
 /// Instancia la carta en el panel correspondiente segun la carta que se ha tocado en el menu de acciones.
 /// </summary>
 public void MostrarCarta()
 {
     Debug.Log("On enable");
     elemento = Instantiate(Acciones.Instance.ElementoActual, transform);
     elemento.GetComponent <OneCardManager> ().PuedeSerJugada = false;
     elemento.transform.SetParent(gridLayoutGroup.gameObject.transform);
     elemento.tag = "CartaPrevisualizada";
     IDHolder.EliminarElemento(elemento.GetComponent <IDHolder>());
     Destroy(elemento.GetComponent <IDHolder> ());
     elemento.GetComponent <BoxCollider2D> ().enabled = false;
     if (posicion.Equals(Posicion.DELANTE))
     {
         elemento.GetComponent <PosicionVisual> ().MostrarCara();
     }
     else
     {
         elemento.GetComponent <PosicionVisual> ().MostrarAtras();
     }
 }
Ejemplo n.º 5
0
    /// <summary>
    /// Elimina el ente del territorio.
    /// </summary>
    /// <param name="IDToRemove">Identifier to remove.</param>
    public void EliminarEnteID(int IDToRemove)
    {
        // TODO: This has to last for some time
        // Adding delay here did not work because it shows one creature die, then another creature die.
        //
        //Sequence s = DOTween.Sequence();
        //s.AppendInterval(1f);
        //s.OnComplete(() =>
        //   {

        //    });
        GameObject creatureToRemove = IDHolder.GetGameObjectWithID(IDToRemove);

        EntesOnTable.Remove(creatureToRemove);
        IDHolder.EliminarElemento(creatureToRemove.GetComponent <IDHolder>());
        Destroy(creatureToRemove);

        ActualizarSlots();
        MoverSlotCartas();
        Comandas.Instance.CompletarEjecucionComanda();
    }