Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 4
0
        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"));
        }
Ejemplo n.º 6
0
 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.");
     }
 }
Ejemplo n.º 7
0
 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();
     }
 }
Ejemplo n.º 8
0
 private static void Login(string whyMessage, string errorMessage)
 {
     if (!LoginWindow.IsLoggedIn)
     {
         LoginWindow.ShowLoginWindow(whyMessage, errorMessage, new LoginWindow.LoginCallback(AssetStoreManager.OnLoggedIn));
     }
     else
     {
         AssetStoreManager.OnLoggedIn(null);
     }
 }
Ejemplo n.º 9
0
 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();
     });
 }
Ejemplo n.º 10
0
 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();
         }
     }
 }
Ejemplo n.º 11
0
        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;
                }
            }
        }