public void ShowNonUniformScalingHandles()
    {
        groundPlane.SetActive(true);

        TouchElements.Instance.Show(connectedModelingObject.handles.UniformScale.transform, connectedModelingObject);

        TopHandles.SetActive(false);
        BottomHandles.SetActive(false);

        faceBottomScale.SetActive(false);
        faceTopScale.SetActive(false);

        HeightTop.SetActive(false);
        HeightBottom.SetActive(false);

        if (connectedModelingObject.group == null)
        {
            //ShowRotationHandles ();
            Handlegroup.gameObject.SetActive(true);

            YMovement.SetActive(true);
            ToggleRotateOnOff.SetActive(true);
            ToggleRotateOnOffGroup.SetActive(true);
            MovementHandleGroup.SetActive(true);
            UniformScale.SetActive(true);

            connectedModelingObject.ShowBoundingBox(false);
            connectedModelingObject.DrawConnectingLines();
            connectingLines.SetActive(true);

            //RotateAndTranslate.SetActive (true);

            if (!ProModeMananager.Instance.beginnersMode)
            {
                if (connectedModelingObject.typeOfObject == ModelingObject.ObjectType.triangle && !rotationHandlesvisible)
                {
                    NonUniformScalingHandles.SetActive(true);
                    NonUniformScaleFront.SetActive(true);
                    NonUniformScaleBack.SetActive(true);
                    NonUniformScaleTop.SetActive(true);
                    NonUniformScaleBottom.SetActive(true);
                    NonUniformScaleLeft.SetActive(true);
                    NonUniformScaleRight.SetActive(true);
                }
            }
            else
            {
                NonUniformScalingHandles.SetActive(false);
                NonUniformScaleFront.SetActive(false);
                NonUniformScaleBack.SetActive(false);
                NonUniformScaleTop.SetActive(false);
                NonUniformScaleBottom.SetActive(false);
                NonUniformScaleLeft.SetActive(false);
                NonUniformScaleRight.SetActive(false);
            }
        }
    }
Example #2
0
    public void ShowSelectionButton(Selection controller)
    {
        if (!active)
        {
            connectedObject.CalculateBoundingBox();
            RePosition(Camera.main.transform.position);
        }

        buttonGameObject.SetActive(true);
        active = true;
        Collider.SetActive(true);

        LeanTween.alpha(buttonGameObject, 1f, 0.15f);

        if (connectedObject != null)
        {
            connectedObject.ShowBoundingBox(true);
        }
    }
Example #3
0
    public void FinishUsingHandle(Selection controller)
    {
        if (typeOfHandle != handleType.Height && typeOfHandle != handleType.ScaleFace)
        {
            if (handles.rotationHandlesvisible || (ModeChanger.Instance.modeChangerActive && ModeChanger.Instance.currentMode == ModeChanger.BuildingMode.RotationMode))
            {
                handles.ShowRotationHandles();
            }
            handles.ShowNonUniformScalingHandles();
        }

        if (typeOfHandle == handleType.RotateTranslate)
        {
            connectedModelingObject.StopMoving(controller, connectedModelingObject);

            // destroz previous distance vis
            foreach (Transform visualObject in connectedModelingObject.DistanceVisualisation)
            {
                Destroy(visualObject.gameObject);
            }
        }

        if (typeOfHandle == handleType.MoveY)
        {
            // destroz previous distance vis
            foreach (Transform visualObject in connectedModelingObject.DistanceVisualisation)
            {
                Destroy(visualObject.gameObject);
            }
        }

        if (typeOfHandle == handleType.RotationHandleToggle)
        {
            handles.ToggleOnOffRotationHandles();
        }

        if (rotationVisual != null)
        {
            Destroy(rotationVisual);
            Destroy(CurrentRotationLine);
            Destroy(RotationOnStartLine);
        }

        VisualizeAngle.Instance.Hide();

        connectedModelingObject.ShowBoundingBox(false);

        Vector3 newScale = Vector3.one;
        float   highestDistanceToCenter = connectedModelingObject.boundingBoxWorld.getMaxDistanceinBB(connectedModelingObject.GetBoundingBoxCenterWorld());

        /*
         * if ((connectedModelingObject.GetBoundingBoxCenter () - connectedModelingObject.GetBoundingBoxFrontCenter()).magnitude > (connectedModelingObject.GetBoundingBoxCenter () - connectedModelingObject.GetBoundingBoxLeftCenter ()).magnitude) {
         *      newScale = Vector3.one * (connectedModelingObject.GetBoundingBoxCenter () - connectedModelingObject.GetBoundingBoxFrontCenter()).magnitude * 3f;
         * } else {
         *      newScale = Vector3.one * (connectedModelingObject.GetBoundingBoxCenter () - connectedModelingObject.GetBoundingBoxLeftCenter()).magnitude * 3f;
         * }*/

        handles.RotateX.transform.localScale = newScale * highestDistanceToCenter * 2f;
        handles.RotateY.transform.localScale = newScale * highestDistanceToCenter * 2f;
        handles.RotateZ.transform.localScale = newScale * highestDistanceToCenter * 2f;

        handles.groundPlane.transform.localScale = newScale * highestDistanceToCenter * 0.5f;

        TouchElements.Instance.UnfocusAll();
    }