示例#1
0
 static void CheckConectionResult()
 {
     if (wwwPluginData != null)
     {
         if (wwwPluginData.isDone)
         {
             EditorApplication.update -= CheckConectionResult;
             if (string.IsNullOrEmpty(wwwPluginData.error))
             {
                 if (DeserializeData(wwwPluginData.text))
                 {
                     I2AboutWindow.DownloadedData = wwwPluginData.text;
                 }
             }
             else
             {
                 I2AboutWindow.LoadPluginsData();
             }
             wwwPluginData = null;
             CheckIfAnyPluginNeedsUpgrading();
         }
     }
     else
     {
         EditorApplication.update -= CheckConectionResult;
     }
 }
示例#2
0
 static void CheckConectionResult()
 {
     if (wwwPluginData != null)
     {
         if (wwwPluginData.isDone)
         {
             EditorApplication.update -= CheckConectionResult;
             if (string.IsNullOrEmpty(wwwPluginData.error))
             {
                 var text = System.Text.Encoding.UTF8.GetString(wwwPluginData.bytes); // wwwPluginData.text
                 if (DeserializeData(text))
                 {
                     I2AboutWindow.DownloadedData = text;
                 }
             }
             else
             {
                 I2AboutWindow.LoadPluginsData();
             }
             wwwPluginData = null;
             CheckIfAnyPluginNeedsUpgrading();
         }
     }
     else
     {
         EditorApplication.update -= CheckConectionResult;
     }
 }
示例#3
0
        public static void OnGUI_Footer(string pluginName, string pluginVersion, string helpURL, string documentationURL)
        {
            GUILayout.BeginHorizontal();
            string versionTip = "";

            if (I2Analytics.HasNewVersion(pluginName))
            {
                versionTip = "There is a new version of " + pluginName + ".\nClick here for more details";
                if (GUILayout.Button(new GUIContent("", versionTip), EditorStyles.label, GUILayout.Width(25)))
                {
                    I2AboutWindow.DoShowScreen();
                }

                var rect = GUILayoutUtility.GetLastRect();
                rect.yMin = rect.yMax - 25;
                rect.xMax = rect.xMin + 25;
                rect.y   += 3;
                GUI.DrawTexture(rect, GUI.skin.GetStyle("CN EntryWarn").normal.background);
            }

            if (GUILayout.Button(new GUIContent("v" + pluginVersion, versionTip), EditorStyles.miniLabel))
            {
                I2AboutWindow.DoShowScreen();
            }

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Ask a Question", EditorStyles.miniLabel))
            {
                Application.OpenURL(helpURL);
            }

            GUILayout.Space(10);

            if (GUILayout.Button("Documentation", EditorStyles.miniLabel))
            {
                Application.OpenURL(documentationURL);
            }
            GUILayout.EndHorizontal();
        }
示例#4
0
 public static bool HasNewVersion(string pluginName)
 {
     if (I2AboutWindow.PluginsData == null)
     {
         return(false);
     }
     for (int i = 0; i < I2AboutWindow.PluginsData.Plugins.Length; i++)
     {
         if (I2AboutWindow.PluginsData.Plugins[i].Name == pluginName)
         {
             string InstalledVersion;
             bool   ShouldUpgrade, HasNewBeta, ShouldSkip;
             I2AboutWindow.GetShouldUpgrade(I2AboutWindow.PluginsData.Plugins[i], out InstalledVersion, out ShouldUpgrade, out HasNewBeta, out ShouldSkip);
             if (!ShouldUpgrade && !ShouldSkip && HasNewBeta && I2AboutWindow.bNotifyOfNewBetas)
             {
                 ShouldUpgrade = true;
             }
             return(ShouldUpgrade);
         }
     }
     return(false);
 }
示例#5
0
        static void CheckIfAnyPluginNeedsUpgrading()
        {
            EditorApplication.update -= CheckIfAnyPluginNeedsUpgrading;
            for (int i = 0; i < I2AboutWindow.PluginsData.Plugins.Length; ++i)
            {
                string InstalledVersion = string.Empty;
                bool   ShouldUpgrade    = false;
                bool   HasNewBeta       = false;
                bool   ShouldSkip       = false;

                I2AboutWindow.GetShouldUpgrade(I2AboutWindow.PluginsData.Plugins[i], out InstalledVersion, out ShouldUpgrade, out HasNewBeta, out ShouldSkip);
                if (InstalledVersion == "none" || ShouldSkip)
                {
                    continue;
                }

                if ((ShouldUpgrade && I2AboutWindow.bNotifyOfNewMainVersions) || (HasNewBeta && I2AboutWindow.bNotifyOfNewBetas))
                {
                    I2AboutWindow.DoShowScreen();
                    return;
                }
            }
        }