public void update() { // move target to selector layer if (Math.Abs(cameraTarget.z - (selectorSprite.localPosition.z - 0.4f)) > 0.01f) { moveCameraTargetZ(selectorSprite.localPosition.z - 0.4f - cameraTarget.z); } // move camera target to see selector Vector2Int overlook = GameView.get().selectorOverlook; if (!visibleArea.isIn(selectorSprite.localPosition) || overlook.magnitude != 0) { moveCameraTarget(visibleArea.getDirectionVector(selectorSprite.localPosition) + overlook * overlookTiles); } moveCamera(); }
// moves camera towards pointer private void checkPointer() { visibleArea.set(effectiveCameraSize).move(camera.transform.localPosition); speed = visibleArea.getDirectionVector(pointerController.targetPosition); }