private void    UpdateUnityProjectState()
        {
            NGUnityDetectorWindow.GetInstalls(this.unityInstalls);

            for (int i = 0; i < ProfilesManager.Profile.projects.Count; i++)
            {
                this.CheckUnityProject(ProfilesManager.Profile.projects[i]);
            }

            this.Repaint();
        }
        protected virtual void  OnEnable()
        {
            NGUnityDetectorWindow.GetInstalls(this.unityInstalls);
            NGUnityDetectorWindow.UnityInstallsChanged += this.UpdateUnityProjectState;

            ProfilesManager.SetProfile += this.OnSetProfile;
            if (ProfilesManager.IsReady == true)
            {
                this.OnSetProfile();
            }

            Utility.RegisterIntervalCallback(this.UpdateProcesses, 500);
            EditorApplication.delayCall += this.UpdateProcesses;
        }