//! //! single touch start (called by Mouse or Touch Input) //! @param pos screen position of pointer //! public void singlePointerStarted(Vector3 pos) { pointerDown = true; //light editing mode /* * if (mainController.ActiveMode == MainController.Mode.lightSettingsMode) * { * if (mainController.isOnLightSettingsPicker(pos)) * { * mainController.updateLight(pos); * editingLight = true; * return; * } * else if (!pointerOnGUI()) * { * //selection mode is active * GameObject hitObject = cameraRaycast(pos,defaultLayermask); * if (hitObject) { * //Object was hit * mainController.handleSelection(hitObject.transform); * hitObject = null; * pause = true; * } * //mainController.openMenu(); * return; * } * } */ if (!pointerOnGUI()) { //oneForAll mode if (mainController.ActiveMode == MainController.Mode.oneForAllMode) { mainController.rotationCollider.gameObject.transform.position = mainController.getSelectionPosition(); mainController.rotationCollider.transform.localScale = Vector3.one * (Vector3.Distance(Camera.main.transform.position, mainController.getSelectionPosition()) / 100); hitPositionBuffer = objectRaycast(pos, mainController.rotationCollider); return; } //pointToMove active if (mainController.ActiveMode == MainController.Mode.pointToMoveMode || mainController.ActiveMode == MainController.Mode.pointShootTranslation) { mainController.showPointToMoveIdentifier(objectRaycast(pos, groundPlane)); return; } //standard modification modes (modifier active) if (mainController.ActiveMode == MainController.Mode.translationMode || mainController.ActiveMode == MainController.Mode.rotationMode || mainController.ActiveMode == MainController.Mode.scaleMode || mainController.ActiveMode == MainController.Mode.animationEditing) { //editing mode is active GameObject hitObject = cameraRaycast(pos, 256); //raycast only RenderInFront Layer (layer 9 -> 256) if (hitObject) { //Modifier object was hit if (hitObject.tag == "Modifier") { //modifier was hit mainController.handleModifier(hitObject.transform); hitPositionBuffer = objectRaycast(pos, mainController.helperCollider); pointerOnModifier = true; } hitObject = null; } else { //no modifier was hit hitObject = cameraRaycast(pos, defaultLayermask); if (hitObject) { //other object was hit mainController.handleSelection(hitObject.transform); pause = true; hitObject = null; } //mainController.openMenu(); } } } else { pause = true; } }