public void OnGUI()
        {
            if (DEBUG_GUI == false)
            {
                return;
            }

            int basePosX = 900;

            SHGUI gui = SHGUI.current;

            if (gui == null)
            {
                GUI.Label(new Rect(basePosX, 0, 100, 25), "No gui");
            }
            else
            {
                GUI.Label(new Rect(basePosX, 0, 400, 25), gui.GetType().Name + " (" + gui.name + ")");

                SHGUIview guiInter = gui.GetInteractableView();

                if (guiInter == null)
                {
                    GUI.Label(new Rect(basePosX, 25, 100, 25), "No view");
                }
                else
                {
                    GUI.Label(new Rect(basePosX, 25, 400, 25), guiInter.GetType().Name);

                    if (guiInter is SHGUIcommanderview)
                    {
                        SHGUIcommanderview guiComm = (SHGUIcommanderview)guiInter;

                        int i = 0;
                        foreach (SHGUIcommanderbutton but in guiComm.buttons)
                        {
                            GUI.Label(new Rect(basePosX, 50 + i++ *25, 400, 25), but.ButtonText + " (" + but.IsLocked + ")");
                        }
                    }
                }
            }
        }