예제 #1
0
    private void PcControls()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
                if (IsPointerOverUIObject())
                {
                    return;
                }

                globalPointer = hit.point;

                if (Input.GetKey(KeyCode.LeftShift))
                {
                    Deformator.InstantiateBlockToChunk(BlockSelectingType.ThisBlock, 0, ref globalPointer, ref VMG);
                }
                else
                {
                    Deformator.InstantiateBlockToChunk(BlockSelectingType.OutOfThisBlock, IdOfBlockInHand, ref globalPointer, ref VMG);
                }
            }
        }


        /*if (Input.GetKeyDown(KeyCode.Mouse1))
         * {
         *  firstScreenTouh = NormalizedMousePos();
         * }
         * if (Input.GetKeyUp(KeyCode.Mouse1))
         * {
         *  firstScreenTouh = -Vector2.zero;
         * }
         * if (firstScreenTouh != -Vector2.zero)
         * {
         *  Vector2 nmp = NormalizedMousePos();
         *  cameraMovement.AddToNormalizedAngle((nmp.x - firstScreenTouh.x) * cameraMovement.GetSensitivity() * Time.deltaTime);
         *  firstScreenTouh = nmp;
         * }
         */
        cameraMovement.AddToNormalizedAngle(0.01f * cameraMovement.GetSensitivity() * Time.deltaTime);
        if (Input.GetKeyDown(KeyCode.Mouse2))
        {
            firstScreenTouhWheel = NormalizedMousePos();
        }
        if (Input.GetKeyUp(KeyCode.Mouse2))
        {
            firstScreenTouhWheel = -Vector2.zero;
        }
        if (firstScreenTouhWheel != -Vector2.zero)
        {
            Vector2 nmp    = NormalizedMousePos();
            Vector3 camPos = cameraMovement.GameCamera.transform.position;
            camPos.y = 0;
            Vector3 centerPos = cameraMovement.CenterOfView.transform.position;
            centerPos.y = 0;
            Vector3 cameraDirectionY = (centerPos - camPos);
            Vector3 cameraDirectionX = Quaternion.Euler(new Vector3(0, 90, 0)) * cameraDirectionY / 2;
            Vector3 OffsetVector     = (firstScreenTouhWheel.y - nmp.y) * (cameraDirectionY);
            OffsetVector += (firstScreenTouhWheel.x - nmp.x) * (cameraDirectionX);
            OffsetVector *= cameraMovement.GetMoveSensitivity() * Time.deltaTime;
            cameraMovement.CenterOfView.transform.position += OffsetVector;
            firstScreenTouhWheel = nmp;
        }



        cameraMovement.AddRange(-Input.mouseScrollDelta.y * cameraMovement.GetZoomSensitivity());
        cameraMovement.UpdateCameraTransform();
    }