示例#1
0
    void PC_Update()
    {
        if (Input.GetMouseButton(0))
        {
            Vector2 mousePos = Input.mousePosition;
            Vector2 mouseDeltaPos = mousePos - previousPos;
            if (Input.GetMouseButtonDown(0))
            {
                clicked_object = click.Click(mousePos);
                if (clicked_object.isClicked)
                {
                    clicked_object.clicked_object.SendMessage("BeginClick", SendMessageOptions.DontRequireReceiver);
                    clicking = true;

                    if (clicked_object.clicked_object.tag == "GameplayObjects")
                    clicking = false;
                }
                else
                {
                    clicking = false;
                }
            }
            previousPos = mousePos;
            /*
             * clicked_object = click.Click(touches[0].position);
                    if (clicked_object.isClicked)
                    {
                        clicked_object.clicked_object.SendMessage("BeginClick",SendMessageOptions.DontRequireReceiver);
                        clicking = true;
                    }
                    else //move map
                    {
                        if (CheckMovePosition(touches[0].position))
                        ChangeCameraPosition(touches[0].deltaPosition);
                        clicking = false;
                    }
             */

        }
        if (Input.GetMouseButtonUp(0))
        {
            Vector2 mousePos = Input.mousePosition;
            Vector2 mouseDeltaPos = mousePos - previousPos;
            if (clicking && clicked_object.clicked_object == click.Click(mousePos).clicked_object)
            {
                clicked_object.clicked_object.SendMessage("EndClick", SendMessageOptions.DontRequireReceiver);
                clicking = false;
            }
            clicking = false;

            previousPos = mousePos;
            /*
            if (clicking && clicked_object.clicked_object == click.Click(touches[0].position).clicked_object)
            {
                clicked_object.clicked_object.SendMessage("EndClick", SendMessageOptions.DontRequireReceiver);
                clicking = false;
            }
            else if (!clicking) //move map
            {
                if (CheckMovePosition(touches[0].position))
                    ChangeCameraPosition(touches[0].deltaPosition);
            }
            */
        }
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        if (pc_controls)
        PC_Update();

        Touch[] touches = Input.touches;
        if (!camera_mover.moving)
        {
            foreach (Touch touch in touches)
            {
                switch (touch.phase)
                {
                    case TouchPhase.Began:
                        clicked_object = click.Click(touch.position);
                        if (clicked_object.isClicked)
                        {
                            clicked_object.clicked_object.SendMessage("BeginClick",SendMessageOptions.DontRequireReceiver);
                            clicking = true;

                            if (clicked_object.clicked_object.tag == "GameplayObjects")
                            clicking = false;
                        }
                        else
                        {
                            clicking = false;
                        }
                        break;
                    case TouchPhase.Moved:
                    case TouchPhase.Stationary:
                        if (clicking && clicked_object.clicked_object.name != click.Click(touch.position).clicked_object.name)
                        {
                            clicked_object.clicked_object.SendMessage("CanceledClick",SendMessageOptions.DontRequireReceiver);
                            clicking = false;
                        }
                        break;
                    case TouchPhase.Ended:
                        if (clicking && clicked_object.clicked_object == click.Click(touch.position).clicked_object)
                        {
                            clicked_object.clicked_object.SendMessage("EndClick",SendMessageOptions.DontRequireReceiver);
                            clicking = false;
                        }
                        break;
                    default:
                        break;
                }
            }
        }
    }