// 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);
        }
    }