Beispiel #1
0
    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);
        }
    }