void Update() { // if(Input.position.x > Screen.width * 0.1f if (Input.touchCount > 0) { if (Input.touches[0].position.x > Screen.width * 0.1f) //posicion en coordenadas de world { if (Input.touches[0].phase == TouchPhase.Moved || Input.touches[0].phase == TouchPhase.Stationary && objSeleccionado != -1) { } else if (Input.touches[0].phase == TouchPhase.Ended && (objSeleccionado != -1 && objSeleccionado != -2)) { GameObject box = ComprobarBox(Input.touches[0].position); if (box != null) { crearObjecto(objSeleccionado, box); } objSeleccionado = -1; marco.SetActive(false); } else if (objSeleccionado == -1) //si no tienes dron y coges uno de grid { GameObject box = ComprobarBox(Input.touches[0].position); if (box != null) { // crearObjecto(objSeleccionado, box); SelectedGridDrone = box.GetComponent <BoxScript>().dron; if (SelectedGridDrone != null) { objSeleccionado = -2; //si la caja tiene dron pues has cogido un dron del grid } } } else if (objSeleccionado == -2) //si pulsas caja de grid con un dron cogido de grid { GameObject box = ComprobarBox(Input.touches[0].position); if (box != null) { if (box.GetComponent <BoxScript>().dron != null) { GameObject boxDelDronAMover = SelectedGridDrone.GetComponent <caracteristicaDrone>().box; GameObject dronAReemplazar = box.GetComponent <BoxScript>().dron; dronAReemplazar.SendMessage("SetBox", boxDelDronAMover); } SelectedGridDrone.SendMessage("SetBox", box); objSeleccionado = -1; SelectedGridDrone = null; } } } if (objSeleccionado != -1) { cruz.gameObject.transform.position = Input.touches[0].position; cruz.SetActive(true); grid.EnableFreeBoxes(); } else { cruz.SetActive(false); grid.DisableBoxes(); } } else if (Input.GetMouseButtonUp(0)) { Vector3 position = Input.mousePosition; //si pulsas en caja y tenias dron de tienda if (position.x > Screen.width * 0.1f && (objSeleccionado != -1 && objSeleccionado != -2)) //si tocas el grid con dron comprado { GameObject box = ComprobarBox(position); if (box != null) { crearObjecto(objSeleccionado, box); } //crearObjecto(objSeleccionado, Input.touches[0].position); cruz.SetActive(false); grid.DisableBoxes(); objSeleccionado = -1; marco.SetActive(false); //Debug.Log ("Pulsado con dron de tienda"+objSeleccionado); } //si pulsas en caja y no tenias dron else if (position.x > Screen.width * 0.1f && objSeleccionado == -1) //si no tienes dron y coges uno de grid { GameObject box = ComprobarBox(position); if (box != null) { // crearObjecto(objSeleccionado, box); SelectedGridDrone = box.GetComponent <BoxScript>().dron; if (SelectedGridDrone != null) { //Debug.Log ("Has cogido dron del grid"); objSeleccionado = -2; //si la caja tiene dron pues has cogido un dron del grid cruz.SetActive(true); grid.EnableFreeBoxes(); } } //Debug.Log ("Pulsado sin dron cogido"+objSeleccionado); } else if (position.x > Screen.width * 0.1f && objSeleccionado == -2) //si pulsas caja de grid con un dron cogido de grid { GameObject box = ComprobarBox(position); if (box != null) { if (box.GetComponent <BoxScript>().dron != null) { GameObject boxDelDronAMover = SelectedGridDrone.GetComponent <caracteristicaDrone>().box; GameObject dronAReemplazar = box.GetComponent <BoxScript>().dron; Debug.Log("Dron a reemplazar, caja " + dronAReemplazar.GetComponent <caracteristicaDrone>().box.GetComponent <BoxScript>().id + " se cambia a"); dronAReemplazar.SendMessage("SetBox", boxDelDronAMover); } Debug.Log("Dron que reemplaza, caja " + SelectedGridDrone.GetComponent <caracteristicaDrone>().box.GetComponent <BoxScript>().id + " se cambia a"); SelectedGridDrone.SendMessage("SetBox", box); objSeleccionado = -1; SelectedGridDrone = null; grid.DisableBoxes(); cruz.SetActive(false); } Debug.Log("Pulsado con dron cogido de grid: " + objSeleccionado); } } else { cruz.SetActive(false); // Debug.Log ("Pulsado en otra situacion"+objSeleccionado); } }