/// <summary> /// 创建StreamingAssets链接 /// </summary> public static void MkLinkStreamingAssets() { string linkPath = Application.streamingAssetsPath + "/" + AppSetting.PlatformName; if (IsLinkStreamingAssets) { ToolsHelper.CreateDir(Application.streamingAssetsPath); var exportPath = AppSetting.ExportResBaseDir + AppSetting.PlatformName; SymbolLinkFolder(exportPath, linkPath); } else { DeleteLink(linkPath); } AssetDatabase.Refresh(); }
/// <summary> /// 获取IOS打包AB路径 /// </summary> /// <returns></returns> public static string GetABExportPatIOS() { string projectName = AppSetting.MineGameName; string basePath = Application.dataPath + "/"; if (File.Exists(basePath)) { ToolsHelper.ShowDialog("路径配置错误: " + basePath); throw new System.Exception("路径配置错误"); } string path = null; var platformName = AppSetting.PlatformName; path = basePath + platformName + "/" + projectName + "/"; ToolsHelper.CreateDir(path); return(path); }
/// <summary> /// 获取导出资源路径目录 /// </summary> /// <returns></returns> public static string GetExportPath() { BuildTarget platfrom = EditorUserBuildSettings.activeBuildTarget; string projectName = AppSetting.MineGameName; string basePath = AppSetting.ExportResBaseDir; if (File.Exists(basePath)) { ToolsHelper.ShowDialog("路径配置错误: " + basePath); throw new System.Exception("路径配置错误"); } string path = null; var platformName = AppSetting.PlatformName; path = basePath + platformName + "/" + projectName + "/"; ToolsHelper.CreateDir(path); return(path); }
/// <summary> /// 图片切成9块 /// </summary> public static void CreateSpriteSpolt(Texture2D image) { #region 制图片 切9个小块 //图片保存路径 //Texture2D image = Selection.activeObject as Texture2D; //获取被复制的文件 string rootPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(image)); string path = rootPath + "/" + image.name + ".jpg"; //图片路径名称 TextureImporter rootTexture = AssetImporter.GetAtPath(path) as TextureImporter; //获取图片入口 rootTexture.textureType = TextureImporterType.Sprite; AssetDatabase.ImportAsset(path, ImportAssetOptions.Default); string ImgName = image.name; //Debug.Log(image.width); //Debug.Log(image.height); string SpriteSaveFilePath = AppSetting.BundleArtResDir + AppSetting.UIAtlasDir + ImgName + "/"; //创建图片文件夹 ToolsHelper.CreateDir(SpriteSaveFilePath, true); //生成的文件 string fileName = ImgName + ".jpg"; string fileNameSpile = ImgName + "_Spilt.jpg"; //string FileNamePath = System.IO.Path.Combine(Path.GetDirectoryName(SpriteSaveFilePath), fileName); string fileNameSpilePath = System.IO.Path.Combine(Path.GetDirectoryName(SpriteSaveFilePath), fileNameSpile); //复制2份文件导目标文件夹 //AssetDatabase.CopyAsset(path, FileNamePath); AssetDatabase.CopyAsset(path, fileNameSpilePath); //第一张图片设置成UI界面引用的图 //TextureImporter texImp = AssetImporter.GetAtPath(FileNamePath) as TextureImporter;//获取图片入口 //texImp.textureType = TextureImporterType.Sprite; //texImp.spriteImportMode = SpriteImportMode.Single; //第2张图切9个小块 TextureImporter texImp = AssetImporter.GetAtPath(fileNameSpilePath) as TextureImporter;//获取图片入口 //获取图片的宽高 int width = image.width; int height = image.height; //单位框高 int tempWidth = width / 3; int tempHeight = height / 3; List <SpriteMetaData> spriteMetaDatas = new List <SpriteMetaData>(); for (int y = 0; y < 3; y++) { for (int x = 0; x < 3; x++) { SpriteMetaData metaData = new SpriteMetaData(); metaData.name = image.name + "_" + (y * 3 + x); metaData.pivot = Vector2.one * 0.5f; metaData.border = Vector4.zero; Rect rect = new Rect(); rect.x = x * tempWidth; rect.y = (2 - y) * tempHeight; rect.width = tempWidth; rect.height = tempHeight; metaData.rect = rect; spriteMetaDatas.Add(metaData); } } texImp.textureType = TextureImporterType.Sprite; texImp.spriteImportMode = SpriteImportMode.Multiple; texImp.spritesheet = spriteMetaDatas.ToArray(); #endregion #region 创建一个图集与上一部创建的图相关联 string AtlasSaveFilePath = AppSetting.BundleResDir + AppSetting.UIAtlasDir + ImgName + ".spriteatlas"; if (File.Exists(AtlasSaveFilePath)) { AssetDatabase.DeleteAsset(AtlasSaveFilePath); } SpriteAtlas spriteAtlas = new SpriteAtlas(); UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(AppSetting.BundleArtResDir + AppSetting.UIAtlasDir + ImgName, typeof(UnityEngine.Object)); Debug.Log(obj); spriteAtlas.Add(new[] { obj }); AssetDatabase.CreateAsset(spriteAtlas, AtlasSaveFilePath); #endregion //AssetDatabase.ImportAsset(FileNamePath, ImportAssetOptions.Default); AssetDatabase.ImportAsset(fileNameSpilePath, ImportAssetOptions.Default); }