void selfPivoteRotate(Vector2 touchPosition) { if (Controls2D.horizontalSlider.contains(touchPosition)) { Arthroscope.saveActualState(); this.transform.Rotate(0, -Arthroscope.determineSpeed(touchPosition.x, initialTouchPosition.x, Arthroscope.selfPivotRotationSpeed), 0); } }
void portalPivoteRotate(Vector2 touchPosition) { Circle portalRotationCircle = Controls2D.portalRotationCircle; Circle portalRotationBackgroundCircle = Controls2D.portalRotationBackgroundCircle; /* * Remember that in the Circles, we save the center with a little offset for well printing on screen porpuse. * Then, to get the real centers of a circle, we need to sum its radius in x and y */ Vector2 realPortalRotationBackgroundCircleCenter = new Vector2( portalRotationBackgroundCircle.center.x + portalRotationBackgroundCircle.radius, portalRotationBackgroundCircle.center.y + portalRotationBackgroundCircle.radius ) ; if (portalRotationCircle.contains(touchPosition)) { /* * If the portalRotationCircle is in the portalRotationBackgroundCircle */ if (inCircle(currentTouchPosition, realPortalRotationBackgroundCircleCenter, portalRotationBackgroundCircle.radius, portalRotationCircle.radius)) { Arthroscope.saveActualState(); lastTouchPosition = portalRotationCircle.center; portalRotationCircle.center = new Vector2(touchPosition.x - portalRotationCircle.radius, touchPosition.y - portalRotationCircle.radius); this.transform.Rotate(Arthroscope.determineSpeed(portalRotationCircle.center.y, lastTouchPosition.y, Arthroscope.portalPivotRotationSpeed) * -1, 0, 0); this.transform.Rotate(0, 0, Arthroscope.determineSpeed(portalRotationCircle.center.x, lastTouchPosition.x, Arthroscope.portalPivotRotationSpeed) * -1); } } Controls2D.portalRotationCircle = portalRotationCircle; Controls2D.portalRotationBackgroundCircle = portalRotationBackgroundCircle; }