void OnEnable()
        {
            userNodeFolder = EditorPrefs.GetString(UserNodeFolderKey, "");
            if (userNodeFolder == "")
            {
                userNodeFolder = DefaultNodeFolder;
            }

            if (window != null)
            {             // no need to reconstruct everything
                return;
            }

            window = GetWindow <OhBehaveEditorWindow>();
            window.titleContent = new GUIContent("OhBehave!");

            try
            {
                if (EditorStyles.helpBox == null)
                {                 //EditorStyle not yet initialized
                    return;
                }
            }
            catch (System.Exception)
            {             //EditorStyle not yet initialized
                return;
            }

            CreateStyles();
            if (zoomer == null)
            {
                zoomer = new EditorZoomer();
            }
            if (treeBlueprint != null)
            {
                treeBlueprint.ConstructNodes();
                zoomer.Reset(treeBlueprint.zoomerSettings);
            }
        }
        public bool Open(OhBehaveAI ohBehaveAI)
        {
            currentAIBehaviour = ohBehaveAI;

            treeBlueprint = GetBlueprintFor(ohBehaveAI);
            if (treeBlueprint == null)
            {
                Repaint();
                return(false);
            }

            treeBlueprint.ohBehaveAI = ohBehaveAI;
            treeBlueprint.ConstructNodes();

            if (zoomer != null)
            {
                zoomer.Reset(treeBlueprint.zoomerSettings);
            }
            window.Show();
            Repaint();
            return(true);
        }