34 lines
913 B
C#
34 lines
913 B
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEditor.PackageManager.Requests;
|
|
|
|
namespace UnityEditor.PackageManager.UI
|
|
{
|
|
internal class UpmRemoveOperation : UpmBaseOperation, IRemoveOperation
|
|
{
|
|
[SerializeField]
|
|
private PackageInfo _package;
|
|
|
|
public event Action<PackageInfo> OnOperationSuccess = delegate { };
|
|
|
|
public void RemovePackageAsync(PackageInfo package, Action<PackageInfo> doneCallbackAction = null, Action<Error> errorCallbackAction = null)
|
|
{
|
|
_package = package;
|
|
OnOperationError += errorCallbackAction;
|
|
OnOperationSuccess += doneCallbackAction;
|
|
|
|
Start();
|
|
}
|
|
|
|
protected override Request CreateRequest()
|
|
{
|
|
return Client.Remove(_package.Name);
|
|
}
|
|
|
|
protected override void ProcessData()
|
|
{
|
|
OnOperationSuccess(_package);
|
|
}
|
|
}
|
|
}
|