void Update() { UpdateMiniMap(); if (minimapBG != null && Input.GetMouseButtonDown(0)) { Ray cameraRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits = Physics.RaycastAll(cameraRay, 2.0f); foreach (RaycastHit hitInfo in hits) { if (hitInfo.transform.gameObject == minimapBG) { Vector3 clickOffset = hitInfo.point - minimapBG.transform.position; float width = minimapBG.transform.localScale.x; float height = minimapBG.transform.localScale.y; clickOffset.x += width / 2.0f; clickOffset.y += height / 2.0f; // Normalize the clickOffset clickOffset.x /= width; clickOffset.y /= height; // Tell the camera to quick-jump. CameraBehavior cameraBehavior = Camera.main.GetComponent <CameraBehavior>(); if (cameraBehavior != null) { cameraBehavior.quickJump(clickOffset); } } } } }