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