bool QueryAxisFire2() { if (VirtualAxisManager.GetAxisDown("Fire2")) { prevMousePos = currentMousePos = originalMousePos = GetMousePos(); fire2TouchTimer = 0; Rotating = false; return(true); } else if (VirtualAxisManager.GetAxis("Fire2")) { currentMousePos = GetMousePos(); if (Rotating) { var dirVector = currentMousePos - prevMousePos; var xRot = -dirVector[1] * rotateSpeed * Time.deltaTime; var newEulerAngle0 = Camera.main.transform.localRotation.eulerAngles[0] + xRot; Camera.main.transform.RotateAround(pivotPos, Vector3.up, dirVector[0] * rotateSpeed * Time.deltaTime); if (newEulerAngle0 <= 90 || newEulerAngle0 >= 270) { Camera.main.transform.RotateAround(pivotPos, Camera.main.transform.right, xRot); } } if (fire2TouchTimer >= 0) { fire2TouchTimer += Time.deltaTime; if (fire2TouchTimer > fire2TouchTime || Mathf.Abs(currentMousePos[0] - originalMousePos[0]) > fire2TouchOffset || Mathf.Abs(currentMousePos[1] - originalMousePos[1]) > fire2TouchOffset) { fire2TouchTimer = -1; Rotating = true; } } prevMousePos = currentMousePos; return(true); } else if (VirtualAxisManager.GetAxisUp("Fire2")) { fire2TouchTimer = -1; return(true); } return(false); }
bool QueryAxisFire3() { if (VirtualAxisManager.GetAxisDown("Fire3")) { prevMousePos = currentMousePos = originalMousePos = GetMousePos(); fire3TouchTimer = 0; Dragging = false; return(true); } else if (VirtualAxisManager.GetAxis("Fire3")) { currentMousePos = GetMousePos(); if (Dragging) { var prevCamPos = Camera.main.transform.position; var temp = currentMousePos - prevMousePos; var dirVector = Camera.main.transform.right * temp[0] + Camera.main.transform.up * temp[1]; Camera.main.transform.position -= dirVector * (dragSpeed * Time.deltaTime); pivotPos += Camera.main.transform.position - prevCamPos; pivot.transform.position = pivotPos; } if (fire3TouchTimer >= 0) { fire3TouchTimer += Time.deltaTime; if (fire3TouchTimer > fire3TouchTime || Mathf.Abs(currentMousePos[0] - originalMousePos[0]) > fire3TouchOffset || Mathf.Abs(currentMousePos[1] - originalMousePos[1]) > fire3TouchOffset) { fire3TouchTimer = -1; Dragging = true; } } prevMousePos = currentMousePos; return(true); } else if (VirtualAxisManager.GetAxisUp("Fire3")) { fire3TouchTimer = -1; return(true); } return(false); }