void Update() { var t = transform; var scroll = Helper.Clamp(DetectEdgeScroll() + DetectKeyboardScroll()).normalized; if (scroll != Vector2.zero) { _smoothCamera.SetRelativeTarget(scroll * (speed * Time.deltaTime)); } if (!disableScroll) { var scrollValue = Input.mouseScrollDelta.y; if (Mathf.Abs(scrollValue) > float.Epsilon) { var currentCameraHeight = _cameraTransform.localPosition.y; var newCameraHeight = Mathf.Clamp(currentCameraHeight - (scrollValue * zoomSpeed), minZoom, maxZoom); _cameraTransform.localPosition = new Vector3(0, newCameraHeight, 0); _smoothCamera.SetZoom(newCameraHeight); } } if (Input.GetButton("Jump")) { _smoothCamera.SetTarget(t.parent.GetComponentInChildren <Ball>().transform.position); } }
void Update() { if (!_spaceVehicle) { GameObject ballObject = GameObject.Find("Ball"); if (!ballObject) { return; } _spaceVehicle = ballObject.GetComponent <Ball>(); } if (_spaceVehicle.inOrbitAround) { var planet = _spaceVehicle.inOrbitAround; if (planet != lastOrbitedPlanet) { lastOrbitedPlanet = planet; var dimensions = new Vector2(2 * planet.radiusGravity, 2 * planet.radiusGravity) * 1.2f; var distance = Helper.DistanceToFillFrustum(_playerController.playerCamera, dimensions); _smoothCamera.SetZoomTarget(distance); var pos = _spaceVehicle.inOrbitAround.transform.position; _smoothCamera.SetTarget(pos); } if (_spaceVehicle.IsInStableOrbit() && _spaceVehicle.inOrbitAround == _spaceVehicle.world.goalPlanet) { if (_spaceVehicle.world.hud.shotCount <= _spaceVehicle.world.hud.shotsForPar) { success.Play(); } else { lesserSuccess.Play(); } _spaceVehicle.world.NewGoal(); } } else { lastOrbitedPlanet = null; var spaceVehiclePosition = _spaceVehicle.transform.position; _smoothCamera.SetTarget(spaceVehiclePosition); } }