private void SetupControlTranslateArrow(GameObject controlPoint)
    {
        //get the current curvePoint
        BGCurvePointGO curvePoint = controlPoint.GetComponent <BGCurvePointGO>();

        //spawn empty gameobject for arrow to move
        GameObject controlObj = new GameObject();

        //sets gos position
        controlObj.transform.position = curvePoint.ControlFirstWorld;
        controlObj.transform.SetParent(controlPoint.transform);
        //add setcurvecontrol... script to new gameobject
        SetCurveControlToGizmoPosition curveControl = controlObj.AddComponent <SetCurveControlToGizmoPosition>();

        //set new setcuvecontrol... curve point to proper curve point so it can move it
//        print(curvePoint);
        curveControl.curvePoint = curvePoint;
//        print(curveControl.curvePoint);
        //set the control vector to the new game object's position(probs in curvecontroltogizmo script)

        //spawn arrow gizmo
        GameObject newArrow = Instantiate(translateArrowPrefab);

        objsToDisable.Add(newArrow);
        //parent arrow to controlPoint
        newArrow.transform.SetParent(controlPoint.transform);
        //get the gizmotranslate componenet from the arrow
        GizmoTranslateScript gizmoTranslate = newArrow.GetComponent <GizmoTranslateScript>();

        //set arrows position to curvePoint location
        newArrow.transform.position = curvePoint.ControlFirstWorld;
        //set arrows translateTarget to the new gameobject
        gizmoTranslate.translateTarget = controlObj;

        //set the gizmo cameras on the parts for the arrow
        GizmoClickDetection[] detectors = newArrow.GetComponentsInChildren <GizmoClickDetection>();
        foreach (var detector in detectors)
        {
            detector.gizmoCamera = gizmoCamera;
        }

        curveControl.gizmoTranslate = gizmoTranslate;
    }
    private void SetupTranslateArrow(GameObject newCurve)
    {
        GameObject newPoint = newCurve.transform.GetChild(newCurve.transform.childCount - 1).gameObject;

        GameObject arrow = Instantiate(translateArrowPrefab);

        objsToDisable.Add(arrow);
        GizmoTranslateScript arrowTranslate = arrow.GetComponent <GizmoTranslateScript>();

        arrowTranslate.translateTarget    = newPoint;
        arrowTranslate.transform.position = newPoint.transform.position;

        GizmoClickDetection[] detectors = arrow.GetComponentsInChildren <GizmoClickDetection>();
        foreach (var detector in detectors)
        {
            detector.gizmoCamera = gizmoCamera;
        }

        arrow.transform.SetParent(newCurve.transform.GetChild(newCurve.transform.childCount - 1));
    }