in Source/Assets/AppCenterEditorExtensions/Editor/Scripts/Panels/SDKPackage/AppCenterSDKPackage.cs [45:110]
private void RemovePackage(bool prompt = true)
{
if (prompt && !EditorUtility.DisplayDialog("Confirm SDK Removal", string.Format("This action will remove the current {0} SDK.", Name), "Confirm", "Cancel"))
{
return;
}
EdExLogger.LoggerInstance.LogWithTimeStamp(string.Format("Removing {0} package...", Name));
var toDelete = new List<string>();
string pluginsPath = Path.Combine(AppCenterEditorPrefsSO.Instance.SdkPath, "Plugins");
string androidPath = Path.Combine(pluginsPath, "Android");
string sdkPath = Path.Combine(pluginsPath, "AppCenterSDK");
string iosPath = Path.Combine(pluginsPath, "iOS");
string wsaPath = Path.Combine(pluginsPath, "WSA");
toDelete.Add(Path.Combine(androidPath, string.Format("appcenter-{0}-release.aar", Name.ToLower())));
toDelete.AddRange(Directory.GetFiles(Path.Combine(sdkPath, Name)));
toDelete.AddRange(Directory.GetDirectories(Path.Combine(sdkPath, Name)));
toDelete.Add(Path.Combine(sdkPath, Name));
toDelete.AddRange(Directory.GetFiles(Path.Combine(iosPath, Name)));
toDelete.AddRange(Directory.GetDirectories(Path.Combine(iosPath, Name)));
toDelete.Add(Path.Combine(iosPath, Name));
if (IsSupportedForWSA)
{
toDelete.AddRange(Directory.GetFiles(Path.Combine(wsaPath, Name)));
toDelete.AddRange(Directory.GetDirectories(Path.Combine(wsaPath, Name)));
toDelete.Add(Path.Combine(wsaPath, Name));
}
bool deleted = true;
foreach (var path in toDelete)
{
if (!FileUtil.DeleteFileOrDirectory(path))
{
if (!path.EndsWith("meta"))
{
deleted = false;
}
}
FileUtil.DeleteFileOrDirectory(path + ".meta");
}
// Remove Core if no packages left.
List<AppCenterSDKPackage> installedPackages = new List<AppCenterSDKPackage>();
installedPackages.AddRange(GetInstalledPackages());
if (installedPackages.Count <= 1)
{
AppCenterEditorSDKTools.RemoveSdk(false);
}
if (deleted)
{
EdExLogger.LoggerInstance.LogWithTimeStamp(string.Format("{0} package removed.", Name));
AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnSuccess, string.Format("App Center {0} SDK removed.", Name));
// HACK for 5.4, AssetDatabase.Refresh(); seems to cause the install to fail.
if (prompt)
{
AssetDatabase.Refresh();
}
}
else
{
AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnError, string.Format("An unknown error occured and the {0} SDK could not be removed.", Name));
}
}