예제 #1
0
 public static string GetOfflineDocumentation(IOProxy IOProxy, IPackageVersion version)
 {
     if (version?.isAvailableOnDisk == true && version.packageInfo != null)
     {
         try
         {
             var docsFolder = IOProxy.PathsCombine(version.packageInfo.resolvedPath, "Documentation~");
             if (!IOProxy.DirectoryExists(docsFolder))
             {
                 docsFolder = IOProxy.PathsCombine(version.packageInfo.resolvedPath, "Documentation");
             }
             if (IOProxy.DirectoryExists(docsFolder))
             {
                 var mdFiles = IOProxy.DirectoryGetFiles(docsFolder, "*.md", System.IO.SearchOption.TopDirectoryOnly);
                 var docsMd  = mdFiles.FirstOrDefault(d => IOProxy.GetFileName(d).ToLower() == "index.md")
                               ?? mdFiles.FirstOrDefault(d => IOProxy.GetFileName(d).ToLower() == "tableofcontents.md") ?? mdFiles.FirstOrDefault();
                 if (!string.IsNullOrEmpty(docsMd))
                 {
                     return(docsMd);
                 }
             }
         }
         catch (System.IO.IOException) {}
     }
     return(string.Empty);
 }
예제 #2
0
        public virtual void SaveImage(long productId, string url, Texture2D texture)
        {
            if (string.IsNullOrEmpty(url) || texture == null)
            {
                return;
            }

            try
            {
                var path = m_IOProxy.PathsCombine(m_Application.userAppDataPath, "Asset Store", "Cache", "Images", productId.ToString());
                if (!m_IOProxy.DirectoryExists(path))
                {
                    m_IOProxy.CreateDirectory(path);
                }

                var hash = Hash128.Compute(url);
                path = m_IOProxy.PathsCombine(path, hash.ToString());
                m_IOProxy.FileWriteAllBytes(path, texture.EncodeToJPG());
            }
            catch (System.IO.IOException e)
            {
                Debug.Log($"[Package Manager] Cannot save image: {e.Message}");
            }
        }