void MouseDragMiddle(Vector2 delta)
        {
            if (delta.magnitude < Vector3.kEpsilon)
            {
                return;
            }
            Undo.RecordObject(go.transform, "Camera Move");
            var val = new Vector2(-delta.x, delta.y) * Time.deltaTime * moveSpeed;

            if (currentMoveType == MoveType.Local)
            {
                CameraLocalMove.HorizontalMove(go, val);
            }
            else
            {
                CameraFocusMove.HorizontalMove(go, ref focusPos, val);
            }
        }
        void MouseDragRight(Vector2 delta)
        {
            if (delta.magnitude < Vector3.kEpsilon)
            {
                return;
            }
            var angle = new Vector2(delta.y, delta.x) * Time.deltaTime * rotateSpeed;

            Undo.RecordObject(go.transform, "Camera Rotate");
            if (currentMoveType == MoveType.Local)
            {
                CameraLocalMove.Rotate(go, angle);
            }
            else
            {
                CameraFocusMove.Rotate(go, focusPos, angle);
            }
        }
 void ScrollWheel(float deltaY)
 {
     Undo.RecordObject(go.transform, "Camera Move");
     CameraLocalMove.ForwardMove(go, deltaY * wheelSpeed * Time.deltaTime);
 }