Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        Vector3 m3d;
        Vector2 mpos;
        float   rayDistance;

        if (gamemode == 1)//dungeon
        {
            avatarobject_local.Actualize(Time.deltaTime);
        }


        oldmousepos = newmousepos;

        if (canscrollmanually)
        {
            mpos = Input.mousePosition;

            ray = charactercameracomponent.ScreenPointToRay(new Vector3(mpos.x, mpos.y, 0));
            if (floorcollision.Raycast(ray, out rayDistance))
            {
                m3d           = ray.GetPoint(rayDistance);
                worldmousepos = m3d;
                mouseposmap.x = worldmousepos.x / mappiecesize + mapoffset;
                mouseposmap.y = worldmousepos.z / mappiecesize + mapoffset;

                m3d.x = Mathf.Round(mouseposmap.x - mapoffset) * mappiecesize;
                m3d.z = Mathf.Round(mouseposmap.y - mapoffset) * mappiecesize;
                m3d.y = 0;
                mymouse3droomindicator.transform.position = m3d;
            }

            ray = tapcameracomponent.ScreenPointToRay(new Vector3(mpos.x, mpos.y, 0));

            if (floorcollision.Raycast(ray, out rayDistance))
            {
                m3d = ray.GetPoint(rayDistance);

                newmousepos = m3d;
            }
            if (Input.GetMouseButtonDown(0))
            {
                leftclick = true;
            }
            if (Input.GetMouseButtonUp(0))
            {
                clickrepeater = 0;
                leftclick     = false;
            }

            if (Input.GetKeyDown(KeyCode.LeftAlt))
            {
                altclick = true;
                Debug.Log("alt pressed");
            }
            if (Input.GetKeyUp(KeyCode.LeftAlt))
            {
                altclick = false;
                Debug.Log("alt released");
            }

            if (leftclick)
            {
                if (clickrepeater > clickrepeatertime)
                {
                    clickrepeater = 0;
                }
                if (clickrepeater == 0)
                {
                    MouseClicked();
                }
                clickrepeater = clickrepeater + Time.deltaTime;
            }

            if (Input.GetMouseButtonDown(1))
            {
                rightclick      = true;
                lastdeltatime   = 0;
                oldmousepos     = newmousepos;
                initialmousepos = newmousepos;
            }
            if (Input.GetMouseButtonUp(1))
            {
                rightclick = false;

                //Debug.Log ("released button ");
                lastdeltatime = 1;
                //MouseClicked();
            }
        }
        ScrollMap();
    }