/// <summary>
    /// Sets the pointer mode
    /// The way we are handling this is to toggle whether each gameobject containing the pointer scripts is active.
    /// These gameobjects are under the ControllerScripts/RightController in the Unity editor
    /// </summary>
    public void setPointerMode(pointerModes newMode)
    {
        mode = newMode;
        switch (newMode)
        {
        case pointerModes.UI:
        {
            Debug.Log("Pointer mode: " + newMode);
            framePointer.gameObject.SetActive(false);
            nodePointer.gameObject.SetActive(false);
            UIPointer.gameObject.SetActive(true);
            break;
        }

        case pointerModes.draw:
        case pointerModes.selectNode:
        {
            Debug.Log("Pointer mode: " + newMode);
            framePointer.gameObject.SetActive(false);
            nodePointer.gameObject.SetActive(true);
            UIPointer.gameObject.SetActive(false);
            break;
        }

        case pointerModes.selectFrame:
        {
            Debug.Log("Pointer mode: select frame");
            framePointer.gameObject.SetActive(true);
            nodePointer.gameObject.SetActive(false);
            UIPointer.gameObject.SetActive(false);
            break;
        }

        default: { break; }
        }
    }
 /// <summary>
 /// Sets the pointer mode to frame select
 /// This is called when the Ui canvas is switched to the select tool
 /// </summary>
 public void setPointerModeToFrameSelect()
 {
     drawSelectState = pointerModes.selectFrame;
     setPointerMode(pointerModes.selectFrame);
 }
 /// <summary>
 /// Sets the pointer mode to node
 /// This is called when the Ui canvas is switched to the draw tool
 /// </summary>
 public void setPointerModeToDraw()
 {
     drawSelectState = pointerModes.draw;
     setPointerMode(pointerModes.draw);
 }