private static void OnLoggedIn(string errorMessage) { if (errorMessage != null) { if (!errorMessage.StartsWith("Cancelled")) { DebugUtils.LogError("Error logging in: " + errorMessage); } else { DebugUtils.Log("Closing package manager because login cancelled"); AssetStoreManager assetStoreManager = (AssetStoreManager)EditorWindow.GetWindow(typeof(AssetStoreManager), false, "Package Upload"); assetStoreManager.Close(); } return; } Console.WriteLine("Asset Store Upload Tool logged in. V5.0.2"); AssetStoreManager assetStoreManager2 = (AssetStoreManager)EditorWindow.GetWindow(typeof(AssetStoreManager), false, "Package Upload"); if (!AssetStoreManager.isOpen) { AssetStoreManager.isOpen = true; assetStoreManager2.Init(); assetStoreManager2.Show(); } else { assetStoreManager2.Focus(); } }
private static void Launch() { #if !UNITY_2017 && !UNITY_2018 && !UNITY_2019 if (Application.webSecurityEnabled) { bool flag = EditorUtility.DisplayDialog("Web player platform active", "You are currently using the Web Player platform. To upload Asset Store packages please switch platform to PC and Mac standalone in File -> Build Settings...", "Switch my Active Platform.", "Cancel"); if (!flag) { return; } try { Assembly assembly = Assembly.Load("UnityEditor"); Type type = assembly.GetType("UnityEditor.EditorUserBuildSettings"); MethodInfo method = type.GetMethod("SwitchActiveBuildTarget"); method.Invoke(null, new object[] { EditorUserBuildSettings.selectedStandaloneTarget }); } catch { DebugUtils.LogError("Unable to invoke UnityEditor.EditorUserBuildSettings"); } } #endif EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Remove(EditorApplication.update, new EditorApplication.CallbackFunction(AssetStoreClient.Update)); EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.update, new EditorApplication.CallbackFunction(AssetStoreClient.Update)); AssetStoreManager.Login("Login to fetch current list of published packages"); }
public void AutoSetSelected(AssetStoreManager assetStoreManager) { if (this.Dirty) { return; } IList <Package> allPackages = assetStoreManager.packageDataSource.GetAllPackages(); if (allPackages.Count == 0) { return; } if (this.SelectedPackage == null) { this.SelectedPackage = allPackages[0]; return; } Package package = allPackages.FirstOrDefault((Package x) => x.Id == this.SelectedPackage.Id); if (package != null) { this.SelectedPackage = package; return; } }
private static void AssetStoreLogout() { DebugUtils.Log("Logged out of Asset Store"); AssetStoreManager assetStoreManager = (AssetStoreManager)EditorWindow.GetWindow(typeof(AssetStoreManager), false, "Package Upload"); assetStoreManager.Close(); AssetStoreClient.Logout(); }
private void ShowUploadSucessfull() { EditorUtility.DisplayDialog("Upload successful!", "The package content has been successfully uploaded. To finish the submission, visit the Publisher Portal and confirm that all information about your package is accurate.", "Ok"); this.ClearLocalState(); AssetStoreManager assetStoreManager = (AssetStoreManager)EditorWindow.GetWindow(typeof(AssetStoreManager), false, "Package Upload"); assetStoreManager.SendEvent(EditorGUIUtility.CommandEvent("refresh")); }
private static void Launch() { EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Remove(EditorApplication.update, new EditorApplication.CallbackFunction(AssetStoreClient.Update)); EditorApplication.update = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.update, new EditorApplication.CallbackFunction(AssetStoreClient.Update)); if (!AssetStoreManager.isOpen) { AssetStoreManager.Login("To upload packages, please log in to your Asset Store Publisher account."); } }
private static void AssetStoreLogout() { if (EditorUtility.DisplayDialog("Logout Confirmation", "Are you sure you want to log out of Asset Store Tools?", "Confirm", "Cancel")) { DebugUtils.Log("Logged out of Asset Store"); AssetStoreManager assetStoreManager = (AssetStoreManager)EditorWindow.GetWindow(typeof(AssetStoreManager), false, "Package Upload"); assetStoreManager.Close(); AssetStoreClient.Logout(); } }
private static void Login(string whyMessage, string errorMessage) { if (!LoginWindow.IsLoggedIn) { LoginWindow.ShowLoginWindow(whyMessage, errorMessage, new LoginWindow.LoginCallback(AssetStoreManager.OnLoggedIn)); } else { AssetStoreManager.OnLoggedIn(null); } }
private void RefreshPackages() { this.Account.mStatus = AssetStorePublisher.Status.Loading; AssetStoreAPI.GetMetaData(this.Account, this.m_PackageDataSource, delegate(string errMessage) { if (errMessage != null) { Debug.LogError("Error fetching metadata: " + errMessage); LoginWindow.Logout(); AssetStoreManager.Login("To upload packages, please log in to your Asset Store Publisher account."); this.Repaint(); return; } this.m_PackageController.AutoSetSelected(this); this.Repaint(); }); }
private void RenderDebug() { if (AssetStoreManager.sDbgButtons) { GUILayout.FlexibleSpace(); GUILayout.Label("Debug: ", AssetStoreManager.Styles.ToolbarLabel, new GUILayoutOption[0]); if (GUILayout.Button("FileSelector", EditorStyles.toolbarButton, new GUILayoutOption[0])) { FileSelector.Show("/", new List <string>(), delegate(List <string> newList) { foreach (string str in newList) { DebugUtils.Log(str); } }); } if (GUILayout.Button("Reload", EditorStyles.toolbarButton, new GUILayoutOption[0])) { AssetStoreAPI.GetMetaData(this.Account, this.m_PackageDataSource, delegate(string errMessage) { if (errMessage != null) { Debug.LogError("Error fetching metadata: " + errMessage); LoginWindow.Logout(); AssetStoreManager.Login("Login to fetch current list of published packages"); base.Repaint(); return; } this.m_PackageController.AutoSetSelected(this); base.Repaint(); }); } if (GUILayout.Button("Logout", EditorStyles.toolbarButton, new GUILayoutOption[0])) { AssetStoreClient.Logout(); } } }
private void RenderMenu() { GUILayout.BeginHorizontal(EditorStyles.toolbar, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); this.RenderToolbar(); GUILayout.EndHorizontal(); bool flag = false; if (!LoginWindow.IsLoggedIn) { if (!LoginWindow.IsVisible) { LoginWindow.Login("To upload packages, please log in to your Asset Store Publisher account.", new LoginWindow.LoginCallback(AssetStoreManager.OnLoggedIn), GUIUtil.RectOnRect(360f, 180f, base.position)); } GUILayout.BeginVertical(new GUILayoutOption[0]); GUILayout.Space(10f); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.Label(GUIUtil.StatusWheel, new GUILayoutOption[0]); GUILayout.Label("Please login", new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); } else { if (this.Account.mStatus == AssetStorePublisher.Status.NotLoaded) { this.Account.mStatus = AssetStorePublisher.Status.Loading; AssetStoreAPI.GetMetaData(this.Account, this.m_PackageDataSource, delegate(string errMessage) { if (errMessage != null) { Debug.LogError("Error fetching metadata: " + errMessage); LoginWindow.Logout(); AssetStoreManager.Login("To upload packages, please log in to your Asset Store Publisher account.", "Account is not registered as a Publisher. \nPlease create a Publisher ID."); this.Repaint(); return; } this.m_PackageController.AutoSetSelected(this); this.Repaint(); }); } if (this.Account.mStatus == AssetStorePublisher.Status.NotLoaded || this.Account.mStatus == AssetStorePublisher.Status.Loading) { GUILayout.BeginVertical(new GUILayoutOption[0]); GUILayout.Space(10f); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.Label(GUIUtil.StatusWheel, new GUILayoutOption[0]); GUILayout.Label("Fetching account information", new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); this.Repaint(); } else { bool enabled = GUI.enabled; if (this.Account.mStatus != AssetStorePublisher.Status.Existing) { GUI.enabled = false; } GUI.enabled = enabled; flag = true; } } if (!flag && this.m_PackageController.SelectedPackage != null) { this.m_PackageController.SelectedPackage = null; } }
public void AutoSetSelected(AssetStoreManager assetStoreManager) { if (this.Dirty) { return; } this.SelectedPackage = null; List <Package> list = new List <Package>(); IList <Package> allPackages = assetStoreManager.packageDataSource.GetAllPackages(); foreach (Package item in allPackages) { list.Add(item); } list.RemoveAll((Package pc) => string.IsNullOrEmpty(pc.RootGUID) || pc.RootGUID != AssetStorePackageController.GetLocalRootGUID(pc)); if (list.Count == 1) { this.SelectedPackage = list[0]; return; } if (list.Count == 0) { foreach (Package item2 in allPackages) { list.Add(item2); } } list.RemoveAll((Package pc) => pc.RootPath == null || (Application.dataPath != pc.ProjectPath && !Directory.Exists(Application.dataPath + pc.RootPath))); if (list.Count == 1) { this.SelectedPackage = list[0]; return; } if (list.Count == 0) { return; } foreach (Package package in list) { if (package.RootPath != null && Directory.Exists(Application.dataPath + package.RootPath) && Application.dataPath == package.ProjectPath) { this.SelectedPackage = package; return; } } if (this.SelectedPackage != null) { return; } foreach (Package package2 in list) { if (package2.RootPath != null && Directory.Exists(Application.dataPath + package2.RootPath)) { this.SelectedPackage = package2; return; } } if (this.SelectedPackage != null) { return; } foreach (Package package3 in list) { if (package3.ProjectPath != null && package3.ProjectPath == Application.dataPath) { this.SelectedPackage = package3; break; } } }