// Update is called once per frame
    void Update()
    {
        Transform launchPointTrans = transform.Find("LaunchPoint");

        launchPoint = launchPointTrans.gameObject;
        launchPoint.SetActive(false);
        launchPos = launchPointTrans.position;
        if (!aimingMode)
        {
            return;
        }
        Vector3 mousePos2D = Input.mousePosition;

        mousePos2D.z = -Camera.main.transform.position.z;
        Vector3 mousePos3D   = Camera.main.ScreenToWorldPoint(mousePos2D);
        Vector3 mouseDelta   = mousePos3D - launchPos;
        float   maxMagnitude = this.GetComponent <SphereCollider>().radius;

        if (mouseDelta.magnitude > maxMagnitude)
        {
            mouseDelta.Normalize();
            mouseDelta *= maxMagnitude;
        }
        Vector3 projPos = launchPos + mouseDelta;

        projectile.transform.position = projPos;

        if (Input.GetMouseButtonUp(0))
        {
            aimingMode = false;
            projectile.GetComponent <Rigidbody>().isKinematic = false;
            projectile.GetComponent <Rigidbody>().velocity    = -mouseDelta * velocityMult;
            projectile = null;
            Camera1.shotFired();
        }
    }