You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

34 lines
1.0 KiB

using System;
using UnityEditor.PackageManager.Requests;
using System.Linq;
namespace UnityEditor.PackageManager.UI
{
internal class UpmAddOperation : UpmBaseOperation, IAddOperation
{
public PackageInfo PackageInfo { get; protected set; }
public event Action<PackageInfo> OnOperationSuccess = delegate { };
public void AddPackageAsync(PackageInfo packageInfo, Action<PackageInfo> doneCallbackAction = null, Action<Error> errorCallbackAction = null)
{
PackageInfo = packageInfo;
OnOperationError += errorCallbackAction;
OnOperationSuccess += doneCallbackAction;
Start();
}
protected override Request CreateRequest()
{
return Client.Add(PackageInfo.PackageId);
}
protected override void ProcessData()
{
var request = CurrentRequest as AddRequest;
var package = FromUpmPackageInfo(request.Result).First();
OnOperationSuccess(package);
}
}
}