/// <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); } } }
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); } }
/// <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(); }
/// <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(); } }
/// <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(); }