public static void RemoveSdk(bool prompt = true) { if (prompt && !EditorUtility.DisplayDialog("Confirm SDK Removal", "This action will remove the current App Center SDK.", "Confirm", "Cancel")) { return; } EdExLogger.LoggerInstance.LogWithTimeStamp("Removing SDK..."); RemoveAndroidSettings(); if (FileUtil.DeleteFileOrDirectory(AppCenterEditorPrefsSO.Instance.SdkPath)) { FileUtil.DeleteFileOrDirectory(AppCenterEditorPrefsSO.Instance.SdkPath + ".meta"); AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnSuccess, "App Center SDK removed."); EdExLogger.LoggerInstance.LogWithTimeStamp("App Center SDK removed."); // HACK for 5.4, AssetDatabase.Refresh(); seems to cause the install to fail. if (prompt) { AssetDatabase.Refresh(); } } else { AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnError, "An unknown error occured and the App Center SDK could not be removed."); } }
internal static void MakeDownloadCall(string url, Action <string> resultCallback) { EdExLogger.LoggerInstance.LogWithTimeStamp("Downloading file: " + url); var www = new WWW(url); AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnHttpReq, url, AppCenterEditorHelper.MSG_SPIN_BLOCK); EditorCoroutine.Start(PostDownload(www, response => { resultCallback(WriteResultFile(url, response)); }, AppCenterEditorHelper.SharedErrorCallback), www); }
static void AppCenterServices() { var editorAsm = typeof(Editor).Assembly; var inspWndType = editorAsm.GetType("UnityEditor.SceneHierarchyWindow"); if (inspWndType == null) { inspWndType = editorAsm.GetType("UnityEditor.InspectorWindow"); } window = GetWindow <AppCenterEditor>(inspWndType); window.titleContent = new GUIContent("App Center"); AppCenterEditorPrefsSO.Instance.PanelIsShown = true; }
internal static void MakeDownloadCall(IEnumerable <string> urls, Action <IEnumerable <string> > resultCallback) { EdExLogger.LoggerInstance.LogWithTimeStamp("Downloading files: " + string.Join(", ", urls.ToArray())); var wwws = new List <WWW>(); var downloadRequests = new List <DownloadRequest>(); foreach (var url in urls) { var www = new WWW(url); wwws.Add(www); downloadRequests.Add(new DownloadRequest(url, www)); } AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnHttpReq, "Downloading files", AppCenterEditorHelper.MSG_SPIN_BLOCK); EditorCoroutine.Start(DownloadFiles(downloadRequests, resultCallback, AppCenterEditorHelper.SharedErrorCallback), wwws); }
void OnEnable() { if (window == null) { window = this; window.minSize = new Vector2(320, 0); } if (!IsEventHandlerRegistered(StateUpdateHandler)) { EdExStateUpdate += StateUpdateHandler; } GetLatestEdExVersion(); }
private static string WriteResultFile(string url, byte[] response) { AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnHttpRes, url); string fileName; if (url.IndexOf("AppCenterEditorExtensions-v") > -1) { fileName = AppCenterEditorHelper.EDEX_UPGRADE_PATH; } else if (url.IndexOf("AppCenterAnalytics-v") > -1) { fileName = AppCenterEditorHelper.ANALYTICS_SDK_DOWNLOAD_PATH; } else if (url.IndexOf("AppCenterAuth-v") > -1) { fileName = AppCenterEditorHelper.AUTH_SDK_DOWNLOAD_PATH; } else if (url.IndexOf("AppCenterCrashes-v") > -1) { fileName = AppCenterEditorHelper.CRASHES_SDK_DOWNLOAD_PATH; } else if (url.IndexOf("AppCenterDistribute-v") > -1) { fileName = AppCenterEditorHelper.DISTRIBUTE_SDK_DOWNLOAD_PATH; } else { fileName = AppCenterEditorHelper.EDEX_PACKAGES_PATH; } var fileSaveLocation = AppCenterEditorHelper.EDEX_ROOT + fileName; var fileSaveDirectory = Path.GetDirectoryName(fileSaveLocation); EdExLogger.LoggerInstance.LogWithTimeStamp("Saving " + response.Length + " bytes to: " + fileSaveLocation); if (!Directory.Exists(fileSaveDirectory)) { Directory.CreateDirectory(fileSaveDirectory); } File.WriteAllBytes(fileSaveLocation, response); return(fileSaveLocation); }
private static void ShowFolderObject() { if (sdkFolderNotFound) { EditorGUILayout.LabelField("An SDK was detected, but we were unable to find the directory. Drag-and-drop the top-level App Center SDK folder below.", AppCenterEditorHelper.uiStyle.GetStyle("orTxt")); } else { // This hack is needed to disable folder object and remove the blue border around it. // Other UI is getting enabled later in the method. GUI.enabled = false; } GUILayout.Space(5); using (new AppCenterGuiFieldHelper.UnityHorizontal(AppCenterEditorHelper.uiStyle.GetStyle("gpStyleClearWithleftPad"))) { GUILayout.FlexibleSpace(); SdkFolder = EditorGUILayout.ObjectField(SdkFolder, typeof(UnityEngine.Object), false, GUILayout.MaxWidth(200)); GUILayout.FlexibleSpace(); } GUILayout.Space(5); GUI.enabled = AppCenterEditor.IsGUIEnabled(); }
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)); } }
public static void SharedErrorCallback(string error) { AppCenterEditor.RaiseStateUpdate(AppCenterEditor.EdExStates.OnError, error); }