// Update is called once per frame void Update() { bool UpdateTiles = false; ZoomInput += Input.GetAxis("Zoom") * ZoomSensitivity; //Uses zoom input (scrollwheel) to change zoominput. //Makes sure it is in boundries. if (ZoomInput < ZoomMin) { ZoomInput = ZoomMin; } if (ZoomInput > ZoomMax) { ZoomInput = ZoomMax; } //This makes rotation of scroll wheel have bigger effect when zoom out, which makes it look normal ZoomOuput = ZoomInput * ZoomInput; CameraComponent.orthographicSize = ZoomOuput; if (ZoomOuput != LastZoomOutput) { UpdateTiles = true; } FPSCount.text = "FPS: " + Mathf.Round((1 / Time.deltaTime)).ToString(); Zoom.text = "Zoom: " + ZoomOuput; if (Input.GetMouseButtonDown(0)) { MouseDrag = true; MousePosOnMouseDown = CameraComponent.ScreenToWorldPoint(Input.mousePosition); } if (MouseDrag) { UpdateTiles = true; Vector2 _MouseChange = CameraComponent.ScreenToWorldPoint(Input.mousePosition);; _MouseChange = new Vector2(_MouseChange.x - MousePosOnMouseDown.x, _MouseChange.y - MousePosOnMouseDown.y); transform.position = new Vector3(transform.position.x - _MouseChange.x, transform.position.y - _MouseChange.y, transform.position.z); MousePosOnMouseDown = CameraComponent.ScreenToWorldPoint(Input.mousePosition); } if (Input.GetMouseButtonUp(0)) { MouseDrag = false; } LastZoomOutput = ZoomOuput; if (UpdateTiles) { MapScriptComponent.TryUpdateTiles(ZoomOuput < ZoomSwitchOver); } }