//! //! single pointer down & moving (drag) (called by Mouse or Touch Input) //! @param pos screen position of pointer //! public void singlePointerDrag(Vector3 pos) { if (mainController.helpActive && pos.x < 4000f) //Fix for iPad (TaskManager swipe up will generate huge pos value) { helpMenu.moveMenu(pos); return; } if (!pointerOnGUI()) { if (!pause) { #if USE_AR //AR setup if (mainController.arSetupMode && arFoundation) { arFoundation.AddAnchor(new Vector2(pos.x, pos.y)); return; } #endif //pointToMove active if (mainController.ActiveMode == MainController.Mode.pointToMoveMode) { mainController.movePointToMoveIdentifier(planeRaycast(pos, targetPlane)); 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) { if (pointerOnModifier) { //Pointer is down on modifier Vector3 newHitPosition = planeRaycast(pos, mainController.helperPlane); if (newHitPosition != nullVector && hitPositionBuffer != nullVector) { mainController.pointerDrag(hitPositionBuffer, newHitPosition); } } } } } }
//! //! single pointer down & moving (drag) (called by Mouse or Touch Input) //! @param pos screen position of pointer //! public void singlePointerDrag(Vector3 pos) { //light editing mode /* * if (mainController.ActiveMode == MainController.Mode.lightSettingsMode) * { * if (mainController.isOnLightSettingsPicker(pos)) * { * mainController.updateLight(pos); * return; * } * } */ //GUI creation mode //if (pos.y < 30 && !menuInteraction && // (mainController.activeMode == MainController.Mode.idle || // mainController.activeMode == MainController.Mode.lightMenuMode || // mainController.activeMode == MainController.Mode.objectMenuMode)) //{ // menuInteraction = true; //} //was dragging menu /*if (menuInteraction) { * mainController.dragMenu(new Vector3(Screen.width,Screen.height,0) - pos); * return; * }*/ if (!pointerOnGUI()) { if (!pause) { //oneForAll mode if (mainController.ActiveMode == MainController.Mode.oneForAllMode) { Vector3 newHitPosition = objectRaycast(pos, mainController.rotationCollider); if (newHitPosition != nullVector && hitPositionBuffer != nullVector) { mainController.rotateSelection(hitPositionBuffer, newHitPosition); } hitPositionBuffer = newHitPosition; return; } //pointToMove active if (mainController.ActiveMode == MainController.Mode.pointToMoveMode || mainController.ActiveMode == MainController.Mode.pointShootTranslation) { mainController.movePointToMoveIdentifier(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) { if (pointerOnModifier) { //Pointer is down on modifier Vector3 newHitPosition = objectRaycast(pos, mainController.helperCollider); // print( "hitPositionBuffer " + hitPositionBuffer + " newHitPosition " + newHitPosition ); if (newHitPosition != nullVector && hitPositionBuffer != nullVector) { mainController.pointerDrag(hitPositionBuffer, newHitPosition); } hitPositionBuffer = newHitPosition; } } } } else if (!float.IsNaN(lastTime)) { if (Time.time - lastTime > 1.0f) { // TODO: check was this did /* * switch (mainController.getGuiElementId(pos)){ * case 0: //translation * mainController.resetSelectionPosition(); * break; * case 1: //rotation * mainController.resetSelectionRotation(); * break; * case 2: //scale * mainController.resetSelectionScale(); * break; * default: * break; * * } */ lastTime = float.NaN; } } else if (float.IsNaN(lastTime)) { lastTime = Time.time; } }