// Update is called once per frame void Update() { touchType = touchController.ReturnTouchType(); Debug.Log(touchType.ToString()); fingerList = touchController.GetFingerPositions(); Vector3 fingerPosition1 = new Vector3(); Vector3 fingerPosition2 = new Vector3(); Vector3 avgFingerPos = new Vector3(); if(fingerList.Count == 2){ fingerPosition1 = Camera.main.ScreenToWorldPoint(fingerList[0]); fingerPosition2 = Camera.main.ScreenToWorldPoint(fingerList[1]); avgFingerPos.x = (fingerPosition1.x+fingerPosition2.x)/2; avgFingerPos.y = (fingerPosition1.y+fingerPosition2.y)/2; avgFingerPos.z = -1; /*Debug.Log(" 1 X: " + fingerPosition1.x + " 1 Y: " + fingerPosition1.y+ " 1 Z: " + fingerPosition1.z); Debug.Log(" 2 X: " + fingerPosition2.x + " 2 Y: " + fingerPosition2.y + " 2 Z: " + fingerPosition2.z); Debug.Log(" avg X: " + avgFingerPos.x + " avg Y: " + avgFingerPos.y + " avg Z: " + avgFingerPos.z);*/ } if(touchType == TouchType.NONE) { firstTouch = false; if(prevTouchType == TouchType.MULTITOUCH_2){ stop++; } } else if(touchType == TouchType.MULTITOUCH_2 && stop < 1){ if(!firstTouch) { this.transform.position = originalPosition; foreach(Transform child in transform) { originX = avgFingerPos.x; originY = avgFingerPos.y; } firstTouch = true; } float fingerPosX = avgFingerPos.x - originX; float fingerPosY = avgFingerPos.y - originY; if (fingerPosX == 0 && fingerPosY == 0) { return; } DoFoldTransforms(fingerPosX, fingerPosY, originX, originY); } else if(stop == 1){ DoTear(); Instantiate(prefab, originalPosition, originalRotation); stop++; GlobalVariables.zFoldLayer -= 0.2f; } prevTouchType = touchType; }