public void SoltarCarta(ZonaJuego nuevaZona, float nuevaPos) { if (cartaSeleccionada == null) { Debug.Log("Error: Carta no seleccionada."); return; } if (zonaSeleccionado != nuevaZona) { zonaSeleccionado.MoverCartasAuto(); } if (nuevaZona == null) { nuevaZona = zonaSeleccionado; nuevaPos = posSeleccionado; } if (nuevaZona.soloComun && cartaSeleccionada.GetTipo() != LUGAR.Comun) { nuevaZona = zonaSeleccionado; } //SI ES UN COMODIN Y ENTRA EN LA ZONA JUEGO if (cartaSeleccionada.GetTrueLetter() == "*" && nuevaZona == zonaJuego) { comodinMan.SeleccionarComodin(cartaSeleccionada); } else { comodinMan.CerrarPanel(); } cartaSeleccionada.setTouch(false); cartaSeleccionada.SelectCarta(false); nuevaZona.AddCarta(cartaSeleccionada, nuevaPos); zonaSeleccionado = null; cartaSeleccionada = null; }
void Update() { if (!rayActivado) { return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit, 500.0f) && hit.transform.gameObject.layer == layerMask) { ZonaJuego _script = hit.transform.gameObject.GetComponent <ZonaJuego>(); _script.CogerCarta(hit.point.x); } } if (Input.GetMouseButtonUp(0)) { if (cartaSeleccionada != null && Physics.Raycast(ray, out hit, 500.0f)) { ZonaJuego _script = hit.transform.gameObject.GetComponent <ZonaJuego>(); SoltarCarta(_script, hit.point.x); } } if (cartaSeleccionada != null && Physics.Raycast(ray, out hit, 500.0f)) { cartaSeleccionada.transform.position = new Vector3(hit.point.x, hit.point.y, -0.4f); ZonaJuego _script = hit.transform.gameObject.GetComponent <ZonaJuego>(); if (_script != null) { _script.MoverCartasAuto(hit.point.x); } } }