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); } } }
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); } }
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(); }