//! //! single touch ended (called by Mouse or Touch Input) //! @param pos screen position of pointer //! public void singlePointerEnded(Vector3 pos) { pointerDown = false; if (mainController.helpActive) { helpMenu.startSnap(); return; } if (mainController.ActiveMode == MainController.Mode.lightSettingsMode && editingLight) { if (!mainController.liveMode) { mainController.sendUpdateToServer(); } editingLight = false; return; } if (!pause) { //pause is active when avaoiding double interactions if (!pointerOnGUI()) { //pointToMove active if (mainController.ActiveMode == MainController.Mode.pointToMoveMode) { mainController.hidePointToMoveIdentifier(planeRaycast(pos, targetPlane)); return; } if (!(mainController.ActiveMode == MainController.Mode.translationMode || mainController.ActiveMode == MainController.Mode.rotationMode || mainController.ActiveMode == MainController.Mode.scaleMode || mainController.ActiveMode == MainController.Mode.animationEditing)) { //selection mode is active GameObject hitObject = cameraRaycast(pos, defaultLayermask); if (hitObject) { //Object was hit mainController.handleSelection(hitObject.transform); hitObject = null; } else { mainController.handleSelection(); } } else { //editing mode is active if (pointerOnModifier) { pointerOnModifier = false; mainController.resetModifiers(); hitPositionBuffer = nullVector; if (mainController.UIAdapter.LayoutUI == layouts.ANIMATION) // if (mainController.AnimationController.IsActive) { mainController.AnimationController.setKeyFrame(); } } } } } else { pause = false; } //reset variables pointerOnModifier = false; }
//! //! single touch ended (called by Mouse or Touch Input) //! @param pos screen position of pointer //! public void singlePointerEnded(Vector3 pos) { pointerDown = false; if (mainController.ActiveMode == MainController.Mode.lightSettingsMode && editingLight) { if (!mainController.liveMode) { mainController.sendUpdateToServer(); } undoRedoController.addAction(); editingLight = false; return; } if (!pause) { //pause is active when avaoiding double interactions if (!pointerOnGUI()) { //oneForAll mode if (mainController.ActiveMode == MainController.Mode.oneForAllMode) { undoRedoController.addAction(); hitPositionBuffer = nullVector; return; } //pointToMove active if (mainController.ActiveMode == MainController.Mode.pointToMoveMode || mainController.ActiveMode == MainController.Mode.pointShootTranslation) { mainController.hidePointToMoveIdentifier(objectRaycast(pos, groundPlane)); return; } if (!(mainController.ActiveMode == MainController.Mode.translationMode || mainController.ActiveMode == MainController.Mode.rotationMode || mainController.ActiveMode == MainController.Mode.scaleMode || mainController.ActiveMode == MainController.Mode.animationEditing)) { //selection mode is active GameObject hitObject = cameraRaycast(pos, defaultLayermask); if (hitObject) { //Object was hit mainController.handleSelection(hitObject.transform); hitObject = null; } } else { //editing mode is active if (pointerOnModifier) { pointerOnModifier = false; mainController.resetModifiers(); hitPositionBuffer = nullVector; if (mainController.AnimationController.isActive) { mainController.AnimationController.setKeyFrame(); } } } } } else { pause = false; } //reset variables lastTime = float.NaN; pointerOnModifier = false; }