private Vector3 buttonRectScale; // new Vector3(0.6666f, 1, 0.2f);

        void Start()
        {
            panelManager = GetComponentInChildren <VRGestureUIPanelManager>();

            rootCanvas    = GetComponent <Canvas>();
            vrHandUIPanel = transform.Find("Panels");

            // start with hand UI visible
            uiVisible = true;
            Utils.ToggleCanvasGroup(panelManager.parentCanvasGroup, uiVisible);

            buttonRectScale = new Vector3(0.6666f, 1, 0.2f);

            // get vr player hand and camera
            rig            = VRGestureRig.GetPlayerRig(gestureSettings.playerID);
            menuHandedness = (rig.mainHand == Handedness.Left) ? Handedness.Right : Handedness.Left;
            Handedness oppositeHand = rig.mainHand == Handedness.Left ? Handedness.Right : Handedness.Left;

            vrMenuHand = rig.GetHand(menuHandedness);
            vrCam      = rig.head;

            GenerateGesturesMenu();
            StartCoroutine(GenerateNeuralNetMenuButtons());

            if (!gestureSettings.beginInDetectMode)
            {
                panelManager.FocusPanel("Select Neural Net Menu");
            }
            else
            {
                panelManager.FocusPanel("Detect Menu");
            }
        }
        // called when entering "New Gesture Settings Menu"
        // where you choose single handed or double handed type of gesture to record
        public void BeginNewGestureSettingsMenu()
        {
            panelManager.FocusPanel("New Gesture Settings Menu");

            singleHandedButton.onClick.RemoveAllListeners();
            doubleHandedButton.onClick.RemoveAllListeners();

            string newGestureName = "Gesture " + (gestureSettings.gestureBank.Count + 1);

            singleHandedButton.onClick.AddListener(() => CreateGesture(newGestureName, false));
            //singleHandedButton.onClick.AddListener(() => gestureSettings.RefreshGestureBank(true));
            singleHandedButton.onClick.AddListener(() => BeginRecordingMenu(newGestureName));
            singleHandedButton.onClick.AddListener(() => panelManager.FocusPanel("Recording Menu"));
            doubleHandedButton.onClick.AddListener(() => CreateGesture(newGestureName, true));
            doubleHandedButton.onClick.AddListener(() => BeginRecordingMenu(newGestureName));
            doubleHandedButton.onClick.AddListener(() => panelManager.FocusPanel("Recording Menu"));
        }
 public void BeginEditGesture(string gestureName)
 {
     nowEditingGestureLabel.text = gestureName;
     deleteGestureButton.onClick.RemoveAllListeners();
     deleteGestureButton.onClick.AddListener(() => panelManager.FocusPanel("Delete Confirm Menu")); // go to confirm delete menu
     deleteGestureButton.onClick.AddListener(() => BeginDeleteConfirm(gestureName));
     VRGestureManager.Instance.BeginEditing(gestureName);
 }