50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using System;
|
|
using System.Linq;
|
|
|
|
namespace UnityEditor.PackageManager.UI.Tests
|
|
{
|
|
internal class MockRemoveOperation : MockOperation, IRemoveOperation
|
|
{
|
|
public new event Action<Error> OnOperationError = delegate { };
|
|
public new event Action OnOperationFinalized = delegate { };
|
|
public event Action<PackageInfo> OnOperationSuccess = delegate { };
|
|
|
|
public PackageInfo PackageInfo { get; set; }
|
|
|
|
public MockRemoveOperation(MockOperationFactory factory) : base(factory)
|
|
{
|
|
}
|
|
|
|
public void RemovePackageAsync(PackageInfo packageInfo, Action<PackageInfo> doneCallbackAction, Action<Error> errorCallbackAction = null)
|
|
{
|
|
if (ForceError != null)
|
|
{
|
|
if (errorCallbackAction != null)
|
|
errorCallbackAction(ForceError);
|
|
|
|
IsCompleted = true;
|
|
OnOperationError(ForceError);
|
|
OnOperationFinalized();
|
|
return;
|
|
}
|
|
|
|
Factory.Packages = (from package in Factory.Packages
|
|
where package.PackageId.ToLower() != packageInfo.PackageId.ToLower()
|
|
select package);
|
|
|
|
if (doneCallbackAction != null)
|
|
doneCallbackAction(packageInfo);
|
|
|
|
IsCompleted = true;
|
|
OnOperationSuccess(packageInfo);
|
|
OnOperationFinalized();
|
|
}
|
|
|
|
internal void ResetEvents()
|
|
{
|
|
OnOperationError = delegate { };
|
|
OnOperationFinalized = delegate { };
|
|
OnOperationSuccess = delegate { };
|
|
}
|
|
}
|
|
} |