Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        Vector3 p = Input.mousePosition;

        p.z      = 20;
        mousepos = Camera.main.ScreenToWorldPoint(p);

        if (Input.GetKeyDown(KeyCode.D))
        {
            if (mode != Mode.Deleting)
            {
                mode = Mode.Deleting;
                if (object2place != null)
                {
                    Destroy(object2place);
                }

                if (curSelected != null)
                {
                    curSelected.HightlightDelete();
                }
            }
            else
            {
                mode = Mode.Play;
                if (curSelected != null)
                {
                    curSelected.UnhightlightDelete();
                }
            }
        }

        if (Input.GetKeyDown(KeyCode.W))
        {
            if (mode != Mode.Move)
            {
                mode = Mode.Move;
                if (object2place != null)
                {
                    Destroy(object2place);
                }

                if (curSelected != null)
                {
                }
            }
            else
            {
                mode = Mode.Play;
                if (curSelected != null)
                {
                }
            }
        }


        if (object2place == null)
        {
            if (Input.GetKeyDown(KeyCode.Alpha1))
            {
                mode = Mode.Play;

                CreatePreviewMeuble(0);
            }
            if (Input.GetKeyDown(KeyCode.Alpha2))
            {
                mode = Mode.Play;
                CreatePreviewMeuble(1);
            }
            if (Input.GetKeyDown(KeyCode.Alpha3))
            {
                mode = Mode.Play;
                CreatePreviewMeuble(2);
            }
        }

        if (mode == Mode.Play)
        {
            if (object2place != null)
            {
                object2place.transform.position = mousepos;

                if (Input.GetMouseButtonDown(0) && canPlace)
                {
                    AjouterMeuble(curmeubleId);
                }
            }
        }
        if (Input.GetMouseButtonDown(1))
        {
            //hide all tooltips
            FloorUnlockManager.instance.purchaseTooltip.SetActive(false);
            //tooltip.gameObject.SetActive(false);

            mouseposb4drag = mousepos;
        }
        if (Input.GetMouseButton(1))
        {
            float mag = Vector3.Magnitude(mousepos - mouseprevpos);
            if (mag > dragLim)
            {
                mag = dragLim;
            }
            cam.transform.position += (mousepos - mouseprevpos).normalized * mag;
        }

        mouseprevpos = mousepos;
    }