Exemple #1
0
        static Checker()
        {
            if (UnityEditorInternal.InternalEditorUtility.inBatchMode || EditorApplication.isPlayingOrWillChangePlaymode)
            {
                return;
            }

            if (!EditorPrefs.HasKey(ReviewStatusKey))
            {
                EditorPrefs.SetInt(ReviewStatusKey, (int)State.WaitingForReview);
                UpdateReviewDate();
            }

            State state = (State)EditorPrefs.GetInt(ReviewStatusKey);

            if (state == State.WaitingForReview)
            {
                uint now        = GetElapsedDays(DateTime.Now);
                uint reviewDate = (uint)EditorPrefs.GetInt(ReviewDateKey, (int)now);

                if (now >= reviewDate && !NoesisVersion.IsTrial())
                {
                    EditorWindow.GetWindow(typeof(NoesisReview), true, "Support our development");
                }
            }
        }
Exemple #2
0
    static void CheckVersion()
    {
        EditorApplication.update -= CheckVersion;

        string localVersion = NoesisVersion.GetCached();
        string version      = NoesisVersion.Get();

        if (localVersion != version && version != "0.0.0")
        {
            if (NoesisVersion.RestartNeeded())
            {
                Debug.LogWarning("Please restart Unity to reload NoesisGUI native plugin!");
                return;
            }

            var window = (NoesisUpdater)ScriptableObject.CreateInstance(typeof(NoesisUpdater));
            window.titleContent  = new GUIContent("NoesisGUI");
            window.position      = new Rect(Screen.currentResolution.width / 2 - 250, Screen.currentResolution.height / 2 - 22, 500, 55);
            window.minSize       = new Vector2(500, 55);
            window.maxSize       = new Vector2(500, 55);
            window.localVersion_ = localVersion;
            window.version_      = version;

            if (localVersion != "")
            {
                window.label_ = "Upgrading NoesisGUI " + localVersion + " -> " + version;
            }
            else
            {
                window.label_ = "Installing NoesisGUI " + version;
            }

            window.ShowUtility();
        }
    }
    void OnEnable()
    {
        _version = NoesisVersion.Get();

        _bannerStyle             = new GUIStyle();
        _buttonStyle             = new GUIStyle();
        _buttonStyle.fixedWidth  = 48;
        _buttonStyle.fixedHeight = 48;
    }
    void OnEnable()
    {
        minSize = new Vector2(Width, Height);
        maxSize = new Vector2(Width, Height);

        _banner   = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/NoesisGUI/Plugins/Editor/banner.png", typeof(Texture2D));
        _bannerbg = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/NoesisGUI/Plugins/Editor/banner_bg.png", typeof(Texture2D));
        _version  = NoesisVersion.Get();

        _bannerStyle = new GUIStyle();
        _bannerStyle.normal.background = _bannerbg;
    }
Exemple #5
0
    private IEnumerator UpdateVersion()
    {
        GoogleAnalyticsHelper.LogEvent("Install", version_, 0);
        progress_ = 0.05f;

        state_ = "Upgrading project";
        yield return(null);

        Upgrade(localVersion_);
        progress_ = 0.10f;

        state_ = "Cleaning resources";
        yield return(null);

        Noesis.BuildToolKernel.BuildBegin();
        Noesis.BuildToolKernel.Clean();
        progress_ = 0.20f;

        string[] activePlatforms = NoesisSettings.ActivePlatforms;
        foreach (var platform in activePlatforms)
        {
            state_ = "Regenerating " + platform + " resources";
            yield return(null);

            using (var builder = new Noesis.BuildToolKernel(platform))
            {
                builder.BuildAll();
            }

            progress_ = 0.20f + 0.60f * (1 + ArrayUtility.IndexOf(activePlatforms, platform)) / activePlatforms.Length;
        }

        state_ = "Updating version";
        yield return(null);

        NoesisVersion.SetCached(version_);
        progress_ = 0.85f;

        state_ = "Extracting documentation...\n";
        yield return(null);

        ExtractDocumentation();
        progress_ = 0.99f;

        state_ = "Opening Welcome Window...\n";
        yield return(null);

        EditorWindow.GetWindow(typeof(NoesisWelcome), true, "Welcome to NoesisGUI!");
        progress_ = 1.0f;

        Debug.Log("NoesisGUI v" + version_ + " successfully installed");
    }
    void OnEnable()
    {
        position = new Rect((Screen.currentResolution.width - Width) / 2, (Screen.currentResolution.height - Height) / 2, Width, Height);
        minSize  = new Vector2(Width, Height);
        maxSize  = new Vector2(Width, Height);

        _version = NoesisVersion.GetCached();

        _buttonStyle             = new GUIStyle();
        _buttonStyle.fixedWidth  = 48;
        _buttonStyle.fixedHeight = 48;

        _bannerStyle = new GUIStyle();
    }
    private IEnumerator UpdateVersion()
    {
        GoogleAnalyticsHelper.LogEvent("Install", version_, 0);
        progress_ = 0.10f;

        state_ = "Upgrading project";
        yield return(null);

        Upgrade(localVersion_);
        progress_ = 0.20f;

        state_ = "Updating version";
        yield return(null);

        NoesisVersion.SetCached(version_);
        progress_ = 0.35f;

        state_ = "Creating default settings";
        yield return(null);

        NoesisSettings.Get();
        progress_ = 0.40f;

        state_ = "Extracting documentation...\n";
        yield return(null);

        ExtractDocumentation();
        progress_ = 0.60f;

        state_ = "Importing assets...\n";
        yield return(null);

        NoesisPostprocessor.ImportAllAssets();
        progress_ = 0.90f;

        state_ = "Opening Welcome Window...\n";
        yield return(null);

        EditorWindow.GetWindow(typeof(NoesisWelcome), true, "Welcome to NoesisGUI!");
        progress_ = 1.0f;

        Debug.Log("NoesisGUI v" + version_ + " successfully installed");
    }
Exemple #8
0
    static void CheckVersion()
    {
        EditorApplication.update -= CheckVersion;

        if (UnityEditorInternal.InternalEditorUtility.inBatchMode || EditorApplication.isPlayingOrWillChangePlaymode)
        {
            return;
        }

        string localVersion = NoesisVersion.GetCached();
        string version      = NoesisVersion.Get();

        if (localVersion != version && version != "0.0.0")
        {
            var window = (NoesisUpdater)ScriptableObject.CreateInstance(typeof(NoesisUpdater));
#if UNITY_4_6 || UNITY_5_0
            window.title = "NoesisGUI";
#else
            window.titleContent = new GUIContent("NoesisGUI");
#endif
            window.position      = new Rect(Screen.currentResolution.width / 2 - 250, Screen.currentResolution.height / 2 - 22, 500, 55);
            window.minSize       = new Vector2(500, 55);
            window.maxSize       = new Vector2(500, 55);
            window.localVersion_ = localVersion;
            window.version_      = version;

            if (localVersion != "")
            {
                window.label_ = "Upgrading NoesisGUI " + localVersion + " -> " + version;
            }
            else
            {
                window.label_ = "Installing NoesisGUI " + version;
            }

            window.ShowUtility();
        }
    }
    private static void CheckVersion()
    {
        EditorApplication.update -= CheckVersion;

        if (!UnityEditorInternal.InternalEditorUtility.inBatchMode)
        {
            string localVersion = NoesisVersion.GetCached();
            string version      = NoesisVersion.Get();

            // Remove the file that indicates Noesis package is being installed
            AssetDatabase.DeleteAsset("Assets/NoesisGUI/Plugins/Editor/installing");

            // Detect if /Library is being recreated
            string noesisFile             = Path.Combine(Application.dataPath, "../Library/noesis");
            bool   libraryFolderRecreated = !File.Exists(noesisFile);
            if (libraryFolderRecreated)
            {
                File.Create(noesisFile).Dispose();
            }

            if (localVersion != version && version != "0.0.0")
            {
                if (NoesisVersion.RestartNeeded())
                {
                    Debug.LogWarning("Please restart Unity to reload NoesisGUI native plugin! " +
                                     "If error persists remove 'Assets/NoesisGUI/Plugins' and reimport again.");
                    return;
                }

                string title;

                if (localVersion != "")
                {
                    title = "Upgrading NoesisGUI " + localVersion + " -> " + version;
                }
                else
                {
                    title = "Installing NoesisGUI " + version;
                }

                EditorUtility.DisplayProgressBar(title, "", 0.0f);
                GoogleAnalyticsHelper.LogEvent("Install", version, 0);

                EditorUtility.DisplayProgressBar(title, "Upgrading project", 0.10f);
                Upgrade(localVersion);

                EditorUtility.DisplayProgressBar(title, "Updating version", 0.20f);
                NoesisVersion.SetCached(version);

                EditorUtility.DisplayProgressBar(title, "Creating default settings", 0.35f);
                NoesisSettings.Get();

                EditorUtility.DisplayProgressBar(title, "Extracting documentation...", 0.40f);
                ExtractTar("NoesisGUI/Doc.tar", "/../NoesisDoc", "/../NoesisDoc");

                EditorUtility.DisplayProgressBar(title, "Extracting blend samples...", 0.55f);
                ExtractTar("NoesisGUI/Samples/Samples-blend.tar", "/..", "/../Blend");

                NoesisPostprocessor.ImportAllAssets((progress, asset) =>
                {
                    EditorUtility.DisplayProgressBar(title, asset, 0.60f + progress * 0.40f);
                });

                EditorApplication.update += ShowWelcomeWindow;
                EditorUtility.ClearProgressBar();

                Debug.Log("NoesisGUI v" + version + " successfully installed");
            }
            else if (libraryFolderRecreated)
            {
                NoesisPostprocessor.ImportAllAssets();
            }
        }
    }