public static async void GetUnityToolboxLatestVersionAsync(Action <UnityToolboxVersion> onVersionRetrieved) { try { using (HttpClient client = new HttpClient()) { var packageJson = await client.GetStringAsync(UnityToolboxPackageInfoURL); var versionRaw = RetrievePackageVersionOutOfJson(packageJson); if (versionRaw == null) { Debug.LogWarning("UnityToolbox was unable to parse package.json :("); return; } var version = new UnityToolboxVersion(versionRaw); if (onVersionRetrieved != null) { onVersionRetrieved(version); } } } catch (HttpRequestException requestException) { Debug.LogWarning("UnityToolbox is unable to check version online :(. Exception is: " + requestException.Message); } }
private void OnEnable() { _windowInstance = this; _installedVersion = UnityToolboxUtilities.GetUnityToolboxInstalledVersion(); UnityToolboxUtilities.GetUnityToolboxLatestVersionAsync(version => { _latestVersion = version; if (_windowInstance != null) { _windowInstance.Repaint(); } }); }
static UnityToolboxUpdateWindow() { if (AutoUpdateCheckIsEnabled) { UnityToolboxUtilities.GetUnityToolboxLatestVersionAsync(version => { _installedVersion = UnityToolboxUtilities.GetUnityToolboxInstalledVersion(); _latestVersion = version; if (!_installedVersion.VersionsMatch(_latestVersion)) { var versions = "Installed version: " + _installedVersion.AsSting + ". Latest version: " + _latestVersion.AsSting; Debug.Log("It's time to update UnityToolbox :)! Use \"Tools/UnityToolbox/Update UnityToolbox\". " + versions); } }); } }
public static UnityToolboxVersion GetUnityToolboxInstalledVersion() { var packageJsonPath = PackageJsonPath; if (packageJsonPath == null) { Debug.LogWarning("UnityToolbox is unable to check installed version :("); return(null); } var packageJsonContents = File.ReadAllText(packageJsonPath); var versionRaw = RetrievePackageVersionOutOfJson(packageJsonContents); if (versionRaw == null) { Debug.LogWarning("UnityToolbox was unable to parse package.json :("); return(null); } var version = new UnityToolboxVersion(versionRaw); return(version); }
public bool VersionsMatch(UnityToolboxVersion version) { return(BaseVersionMatch(version) && Patch == version.Patch); }
/// <summary> /// Major & Minor versions match, skip patch releases /// </summary> public bool BaseVersionMatch(UnityToolboxVersion version) { return(Major == version.Major && Minor == version.Minor); }