Hue Preserving Color Blending
UpmAddOperation.cs
1 using System;
2 using UnityEditor.PackageManager.Requests;
3 using System.Linq;
4 
6 {
8  {
9  public PackageInfo PackageInfo { get; protected set; }
10 
11  public event Action<PackageInfo> OnOperationSuccess = delegate { };
12 
13  public void AddPackageAsync(PackageInfo packageInfo, Action<PackageInfo> doneCallbackAction = null, Action<Error> errorCallbackAction = null)
14  {
15  PackageInfo = packageInfo;
16  OnOperationError += errorCallbackAction;
17  OnOperationSuccess += doneCallbackAction;
18 
19  Start();
20  }
21 
22  protected override Request CreateRequest()
23  {
24  return Client.Add(PackageInfo.PackageId);
25  }
26 
27  protected override void ProcessData()
28  {
29  var request = CurrentRequest as AddRequest;
30  var package = FromUpmPackageInfo(request.Result).First();
31  OnOperationSuccess(package);
32  }
33  }
34 }