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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|