Rick van Dam
Rick van Dam
It occurs in the PackageManager: ``` private void InstallPackage(PackageName packageName, bool skipLicense) { NuGet.IPackage installPackage = this.cache.GetNuGetPackage(packageName); if (installPackage == null) { throw new InvalidOperationException(string.Format( "Unable to install package '{0}',...
Actually [this](https://github.com/AdamsLair/duality/blob/1f4db91453c046a4443e8be976616d9d3e61ffc5/Source/Editor/DualityEditor/PackageManagement/PackageCache.cs#L287) also filters against prerelease packages. I think the only place that actually needs filtering is retrieving the latest package which may give a different result depending if you...
Seems its going to be more work than anticipated. Might be better if we do this after upgrading nuget (or replace it with some other library/write our own idk where...
> And as far as I recall that's exactly why the code look the way it does, see the comments. Since the statement is transformed into a server query, and...
A alternative could be running duality in a separate thread (possibly with its own custom duality sync context to support tasks). This would require that the UI does not update...
Another solution to this problem could be that instead of calling any duality render methods directly a more data focused approach would be used. The editor will only read out...
After thinking about it some more the real problem here is that winforms can directly call a duality render method. I dont think this should happen especially since the repaint...
Drawing stuff inside a parallel for is not a supported scenario since drawing stuff is not threadsafe. This also means I could not find a way to reproduce the flickering...
The `?.` operator can be used to easily add null checks to your code. Consider this duality code: ```cs if (this.PackageLicenseAcceptRequired != null) this.PackageLicenseAcceptRequired(this, args); ``` Which using the `?.`...
Out variables can now be inlined. Consider this duality code: ```cs bool agreed; if (!this.licenseAccepted.TryGetValue(package.Name, out agreed) || !agreed) ``` Which can now be written like so: ```cs if (!this.licenseAccepted.TryGetValue(package.Name,...