示例#1
0
 public static void CreateInstance(AssetStorePackageController packageController)
 {
     if (UploadDialog.packageController != null)
     {
         DebugUtils.LogError("New UploadDialog instance being created before an old one has finished");
     }
     UploadDialog.packageController = packageController;
     EditorApplication.update       = (EditorApplication.CallbackFunction)Delegate.Combine(EditorApplication.update, new EditorApplication.CallbackFunction(UploadDialog.PackageControllerUpdatePump));
 }
        private void Upload()
        {
            DebugUtils.Log("Upload");
            if (this.m_LocalRootPath == null)
            {
                EditorUtility.DisplayDialog("Package Assets folder not set", "You haven't set the Asset Folder yet. ", "Ok");
                return;
            }
            DebugUtils.Log(Application.dataPath + this.m_LocalRootPath);
            if (!Directory.Exists(Application.dataPath + this.m_LocalRootPath))
            {
                EditorUtility.DisplayDialog("Project not found!", "The root folder you selected does not exist in the current project.\nPlease make sure you have the correct project open or you have selected the right root folder", "Ok");
                return;
            }
            if (Directory.GetFileSystemEntries(Application.dataPath + this.m_LocalRootPath).Length == 0)
            {
                EditorUtility.DisplayDialog("Empty folder!", "The root folder you have selected is empty.\nPlease make sure you have the correct project open or you have selected the right root folder", "Ok");
                return;
            }
            this.m_DraftAssetsUploadProgress = 0f;
            this.m_LocalProjectPath          = Application.dataPath;
            this.m_LocalRootGUID             = AssetStorePackageController.GetLocalRootGUID(this.m_Package);
            string text = this.CheckContent();

            if (string.IsNullOrEmpty(text))
            {
                this.m_DraftAssetsPath = "Temp/uploadtool_" + this.m_LocalRootPath.Trim(new char[]
                {
                    '/'
                }).Replace('/', '_') + ".unitypackage";
                this.m_DraftAssetsSize          = 0L;
                this.m_DraftAssetsLastCheckTime = EditorApplication.timeSinceStartup;
                this.m_AssetsState = AssetStorePackageController.AssetsState.InitiateBuilding;
                this.m_Dirty       = true;
                EditorApplication.LockReloadAssemblies();
                return;
            }
            string text2 = AssetStorePackageController.kForbiddenExtensions[0];

            for (int i = 1; i < AssetStorePackageController.kForbiddenExtensions.Length; i++)
            {
                text2 = text2 + ", " + AssetStorePackageController.kForbiddenExtensions[i];
            }
            Debug.LogWarning(text);
            EditorUtility.DisplayDialog("Invalid files", "Your project contains file types that are not allowed in the AssetStore.\nPlease remove files with the following extensions:\n" + text2 + "\nYou can find more details in the console.", "Ok");
        }
 private void RenderAssetsFolderStatus()
 {
     if (this.m_AssetsState == AssetStorePackageController.AssetsState.UploadingPackage)
     {
         string str = ((int)Mathf.Ceil(this.m_DraftAssetsUploadProgress * 100f)).ToString();
         if (AssetStorePackageController.CancelableProgressBar(this.m_DraftAssetsUploadProgress, "Uploading " + str + " %", "Cancel"))
         {
             this.m_DraftAssetsUploadProgress = 0f;
             this.m_AssetsState     = AssetStorePackageController.AssetsState.None;
             this.m_DraftAssetsPath = string.Empty;
             this.m_DraftAssetsSize = 0L;
             AssetStoreClient.AbortLargeFilesUpload();
         }
     }
     else if (this.m_AssetsState == AssetStorePackageController.AssetsState.BuildingPackage)
     {
         GUILayout.Label(GUIUtil.StatusWheel, new GUILayoutOption[0]);
         GUILayout.Label("Please wait - building package", new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
     }
     else
     {
         Color  color = GUI.color;
         string text  = "No assets selected";
         if (this.m_LocalRootPath != null)
         {
             if (!this.IsValidRelativeProjectFolder(this.m_LocalRootPath))
             {
                 GUI.color = GUIUtil.ErrorColor;
                 text      = string.Format("The path \"{0}\" is not valid within this Project", this.m_LocalRootPath);
             }
             else if (this.m_LocalRootPath.StartsWith("/AssetStoreTools"))
             {
                 GUI.color = GUIUtil.ErrorColor;
                 text      = string.Format("The selected path cannot be part of \"/AssetStoreTools\" folder", this.m_LocalRootPath);
             }
             else
             {
                 text = " " + this.m_LocalRootPath;
             }
         }
         GUILayout.Label(text, new GUILayoutOption[0]);
         GUI.color = color;
         GUILayout.FlexibleSpace();
     }
 }
 private void RenderMainAssetsStatus()
 {
     if (this.m_AssetsState == AssetStorePackageController.AssetsState.BuildingMainAssets)
     {
         GUILayout.Label(GUIUtil.StatusWheel, new GUILayoutOption[0]);
         GUILayout.Label("Please wait - building Main Assets", new GUILayoutOption[0]);
         GUILayout.FlexibleSpace();
     }
     else if (this.m_AssetsState == AssetStorePackageController.AssetsState.UploadingMainAssets)
     {
         float  num = (float)this.m_MainAssetsUploadHelper.GetProgress();
         string str = Mathf.FloorToInt(num).ToString();
         if (AssetStorePackageController.CancelableProgressBar(num, "Uploading " + str + " %", "Cancel"))
         {
             this.m_AssetsState     = AssetStorePackageController.AssetsState.None;
             this.m_DraftAssetsPath = string.Empty;
             this.m_DraftAssetsSize = 0L;
             AssetStoreClient.AbortLargeFilesUpload();
         }
     }
     else
     {
         string text;
         if (this.m_Package != null && !string.IsNullOrEmpty(this.m_LocalRootPath) && this.IsValidRelativeProjectFolder(this.m_LocalRootPath))
         {
             if (this.m_MainAssets.Count == 0)
             {
                 text = "No Files Selected";
             }
             else if (this.m_MainAssets.Count == 1)
             {
                 text = this.m_MainAssets[0] + " selected";
             }
             else
             {
                 text = this.m_MainAssets.Count + " File(s) selected";
             }
         }
         else
         {
             text = "Please select a valid Assets folder";
         }
         GUILayout.Label(text, new GUILayoutOption[0]);
     }
 }
        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;
                }
            }
        }
 public MainAssetsUploadHelper(AssetStorePackageController assetStorePackageController, List <string> mainAssets, Action <string> onUploadAssetBundlesFinished)
 {
     this.m_AssetStorePackageController  = assetStorePackageController;
     this.m_OnUploadAssetBundlesFinished = onUploadAssetBundlesFinished;
     this.m_MainAssets = mainAssets;
 }