Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;
        Ray        ray = camera.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit))
        {
            if (Input.GetMouseButton(0))
            {
                if (!doOnce)
                {
                    startPosition = Input.mousePosition;
                    doOnce        = true;
                }
                endPosition = Input.mousePosition;

                if (endPosition != startPosition)
                {
                    if (!doOnceSwipe)
                    {
                        differencePosition = startPosition - endPosition;
                        differencePosition.Normalize();

                        if (differencePosition.y > 0 && differencePosition.x > -0.5f && differencePosition.x < 0.5f)
                        {
                            IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                            if (boxcast != null)
                            {
                                boxcast.OrbitAroundSideDown();
                            }
                            Debug.Log("Down swipe");
                        }

                        if (differencePosition.y < 0 && differencePosition.x > -0.5f && differencePosition.x < 0.5f)
                        {
                            IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                            if (boxcast != null)
                            {
                                boxcast.OrbitAroundSideUp();
                            }
                            Debug.Log("Up swipe");
                        }

                        if (differencePosition.x < 0 && differencePosition.y > -0.5f && differencePosition.y < 0.5f)
                        {
                            IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                            if (boxcast != null)
                            {
                                boxcast.OrbitAroundSideRight();
                            }
                            Debug.Log("Right swipe");
                        }

                        if (differencePosition.x > 0 && differencePosition.y > -0.5f && differencePosition.y < 0.5f)
                        {
                            IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                            if (boxcast != null)
                            {
                                boxcast.OrbitAroundSideLeft();
                            }
                            Debug.Log("Left swipe");
                        }
                        doOnceSwipe = true;
                    }
                }
            }
            else
            {
                doOnce      = false;
                doOnceSwipe = false;
            }
            if (Input.GetMouseButtonUp(0))
            {
                doOnce      = false;
                doOnceSwipe = false;
            }
        }
    }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        if (Input.touchCount > 0)
        {
            Touch      touch = Input.GetTouch(0);
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(touch.position);
            if (Physics.Raycast(ray, out hit))
            {
                if (touch.phase == TouchPhase.Began)
                {
                    startPosition = touch.position;
                }

                if (touch.phase == TouchPhase.Moved)
                {
                    endPosition = touch.position;
                    if (endPosition != startPosition)
                    {
                        if (!doOnceSwipe)
                        {
                            differencePosition = startPosition - endPosition;
                            differencePosition.Normalize();

                            if (differencePosition.y > 0 && differencePosition.x > -0.5f && differencePosition.x < 0.5f)
                            {
                                IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                                if (boxcast != null)
                                {
                                    boxcast.OrbitAroundSideDown();
                                }
                                Debug.Log("Down swipe");
                            }

                            if (differencePosition.y < 0 && differencePosition.x > -0.5f && differencePosition.x < 0.5f)
                            {
                                IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                                if (boxcast != null)
                                {
                                    boxcast.OrbitAroundSideUp();
                                }
                                Debug.Log("Up swipe");
                            }

                            if (differencePosition.x < 0 && differencePosition.y > -0.5f && differencePosition.y < 0.5f)
                            {
                                IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                                if (boxcast != null)
                                {
                                    boxcast.OrbitAroundSideRight();
                                }
                                Debug.Log("Right swipe");
                            }

                            if (differencePosition.x > 0 && differencePosition.y > -0.5f && differencePosition.y < 0.5f)
                            {
                                IngredientProxy boxcast = hit.transform.GetComponent <IngredientProxy>();
                                if (boxcast != null)
                                {
                                    boxcast.OrbitAroundSideLeft();
                                }
                                Debug.Log("Left swipe");
                            }
                            doOnceSwipe = true;
                        }
                    }
                }

                if (touch.phase == TouchPhase.Ended)
                {
                    doOnceSwipe = false;
                }
            }
        }
    }