//draws arrows manually (not required atm)

        private void recreateArrows(RDNode rdNode)
        {
            if (rdNode.state != RDNode.State.HIDDEN)
            {
                for (int i = 0; i < rdNode.parents.Count(); ++i)
                {
                    //Recreate Parent hopefully recreates incoming array? nope, doesnt, also not with calling UpdateGraphics and/or Setup not...
                    //just changing the line does not update the graphics either.
                    RDNode.Parent parentStruct = rdNode.parents[i];
                    if (parentStruct.line != null)
                    {
                        Vector.DestroyLine(ref parentStruct.line);
                    }
                    if (parentStruct.arrowHead != null)
                    {
                        GameObject.Destroy(parentStruct.arrowHead);
                    }
                }//endfor foreach parentnode

                RDGridArea gridArea = GameObject.FindObjectOfType <RDGridArea>();
                //typeof(RDNode).GetMethod("InitializeArrows", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(treeNode, new object[] { });
                if (rdNode.state == RDNode.State.RESEARCHED || rdNode.state == RDNode.State.RESEARCHABLE)
                {
                    typeof(RDNode).GetMethod("DrawArrow", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(rdNode, new object[] { gridArea.LineMaterial });
                }
                else
                {
                    typeof(RDNode).GetMethod("DrawArrow", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(rdNode, new object[] { gridArea.LineMaterialGray });
                }
            }
        }
        // ---------------------------------------------------
        // Change the max, min, and speed zoom scroll settings
        // ---------------------------------------------------
        #region ZOOM SCROLL CHANGES
        public void ChangeZoomScroll()
        {
            HETTNSettings.Log2("Attempting to change the tech tree zoom settings...");
            try
            {
                RDGridArea gridChanges = this.rdTechTree.controller.gridArea;

                gridChanges.zoomMax   = hettnSettings.zoomMax;
                gridChanges.zoomMin   = hettnSettings.zoomMin;
                gridChanges.zoomSpeed = hettnSettings.zoomSpeed;

                HETTNSettings.Log2("The new zoom settings are - Max: {0:P0}, Min: {1:P0}, Speed: {2:P0}.",
                                   gridChanges.zoomMax,
                                   gridChanges.zoomMin,
                                   gridChanges.zoomSpeed);
            }
            catch (Exception e)
            {
                HETTNSettings.LogError("Error changing zoom settings. Using defaults.\n" + e);
                return;
            }
            HETTNSettings.Log2("Successfully changed the tech tree zoom settings.");
        }