Exemple #1
0
        /// <summary>
        ///     Check for updates!
        /// </summary>
        public static void CheckForUpdates()
        {
            SetLastChecked();

            // Cache the update information
            UpdatePackageDefinition = GetMainPackageDefinition();

            if (HasUpdate(UpdatePackageDefinition) &&
                GetLastNotifiedVersion() != UpdatePackageDefinition.version)
            {
                AttemptUpgrade();
            }
        }
Exemple #2
0
        /// <summary>
        ///     Is there an update available to the local package, based on the provided
        ///     <see cref="PackageProvider.PackageDefinition" />.
        /// </summary>
        /// <param name="updatePackageDefinition">The found <see cref="PackageProvider.PackageDefinition" /> on GitHub.</param>
        /// <returns>true/false if an update is found.</returns>
        public static bool HasUpdate(PackageProvider.PackageDefinition updatePackageDefinition)
        {
            if (updatePackageDefinition == null)
            {
                return(false);
            }

            // Package versions
            SemanticVersion updatePackageVersion = new SemanticVersion(UpdatePackageDefinition.version);
            SemanticVersion localPackageVersion  = new SemanticVersion(LocalPackage.Definition.version);

            // Unity versions
            SemanticVersion currentUnityVersion = new SemanticVersion(Application.unityVersion);
            SemanticVersion minimumUnityVersion = new SemanticVersion(UpdatePackageDefinition.unity);

            // Actually figure out if we have something
            return(updatePackageVersion > localPackageVersion &&
                   currentUnityVersion >= minimumUnityVersion);
        }