Assets/Editor/Tool/BuildExtersion.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/BuiltInResourceSetting.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/BuiltInResourceSetting.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/ClientPackage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Assets/Editor/Tool/BuildExtersion.cs
@@ -182,6 +182,10 @@ var buildParameters = new BuildParameters(); if (!buildParameters.error) { var versionName = string.Empty; BuiltInResourceSetting.SetLaunchBackGround(versionName, buildParameters.buildTarget); BuiltInResourceSetting.SetLoginBackGround(versionName, buildParameters.buildTarget); BuiltInResourceSetting.SetLoginLogo(versionName, buildParameters.buildTarget); ExcuteBuildAsset("builtin", buildParameters); } else @@ -234,6 +238,7 @@ { public bool error = false; public string outputPath; public string publisher; public BuildTarget buildTarget; public BuildParameters() @@ -260,6 +265,10 @@ break; } } else if (arg.ToLower() == "-publisher") { publisher = args[i + 1]; } } error = false; Assets/Editor/Tool/BuiltInResourceSetting.cs
New file @@ -0,0 +1,138 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class BuiltInResourceSetting { public static void SetLaunchBackGround(string versionName, BuildTarget buildTarget) { var fromPath = "Assets/Editor/Logo/" + versionName + "/Launch.png"; var toPath = "Assets/Resources/UI/Sprites/Launch.png"; AssetDatabase.DeleteAsset(toPath); AssetDatabase.CopyAsset(fromPath, toPath); var importerPath = "Assets/Resources/UI/Sprites/Launch.png"; var importer = AssetImporter.GetAtPath(importerPath); var textureImporter = importer as TextureImporter; if (textureImporter != null) { textureImporter.textureType = TextureImporterType.Sprite; textureImporter.spritePackingTag = string.Empty; textureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTarget.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.ETC2_RGB4; platformSetting.compressionQuality = 1; break; case BuildTarget.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } textureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(importerPath); EditorUtility.SetDirty(textureImporter); } } public static void SetLoginBackGround(string versionName, BuildTarget buildTarget) { var fromPath = "Assets/Editor/Logo/" + versionName + "/LoginBackGround.png"; var toPath = "Assets/Resources/UI/Sprites/LoginBackGround.png"; AssetDatabase.DeleteAsset(toPath); AssetDatabase.CopyAsset(fromPath, toPath); var importerPath = "Assets/Resources/UI/Sprites/LoginBackGround.png"; var importer = AssetImporter.GetAtPath(importerPath); var textureImporter = importer as TextureImporter; if (textureImporter != null) { textureImporter.textureType = TextureImporterType.Sprite; textureImporter.spritePackingTag = string.Empty; textureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTarget.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.ETC2_RGB4; platformSetting.compressionQuality = 1; break; case BuildTarget.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } textureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(importerPath); EditorUtility.SetDirty(textureImporter); } } public static void SetLoginLogo(string versionName, BuildTarget buildTarget) { var fromPath = "Assets/Editor/Logo/" + versionName + "/TB_DL_Logo.png"; var toPath = "Assets/ResourcesOut/BuiltIn/UI/Sprites/TB_DL_Logo.png"; AssetDatabase.DeleteAsset(toPath); AssetDatabase.CopyAsset(fromPath, toPath); var importerPath = "Assets/Resources/UI/Sprites/TB_DL_Logo.png"; var importer = AssetImporter.GetAtPath(importerPath); var textureImporter = importer as TextureImporter; if (textureImporter != null) { textureImporter.textureType = TextureImporterType.Sprite; textureImporter.spritePackingTag = string.Empty; textureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTarget.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 512; platformSetting.format = TextureImporterFormat.ETC2_RGBA8; platformSetting.compressionQuality = 1; break; case BuildTarget.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 512; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } textureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(importerPath); EditorUtility.SetDirty(textureImporter); } } } Assets/Editor/Tool/BuiltInResourceSetting.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 1ebae8774d6334d4f84aa56b08bcbebb timeCreated: 1540438784 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Assets/Editor/Tool/ClientPackage.cs
@@ -88,6 +88,19 @@ if (smallPackages.Count > 0) { FileExtersion.DirectoryCopy(_assetBundlePath, ResourcesPath.Instance.StreamingAssetPath); var files = new List<FileInfo>(); FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, files); foreach (var file in files) { var fileName = Path.GetFileName(file.FullName); if (!fileName.Contains("builtin")) { File.Delete(file.FullName); } } for (int i = 0; i < smallPackages.Count; i++) { #if UNITY_ANDROID @@ -415,126 +428,6 @@ projectSettings.ApplyModifiedProperties(); PlayerSettings.Android.splashScreenScale = AndroidSplashScreenScale.ScaleToFill; } var logoFromPath = "Assets/Editor/Logo/" + _versionName + "/TB_DL_Logo.png"; var logoToPath = "Assets/Resources/UI/Sprites/TB_DL_Logo.png"; AssetDatabase.DeleteAsset(logoToPath); AssetDatabase.CopyAsset(logoFromPath, logoToPath); var logoImporterPath = "Assets/Resources/UI/Sprites/TB_DL_Logo.png"; var logoImporter = AssetImporter.GetAtPath(logoImporterPath); var logoTextureImporter = logoImporter as TextureImporter; if (logoTextureImporter != null) { logoTextureImporter.textureType = TextureImporterType.Sprite; logoTextureImporter.spritePackingTag = string.Empty; logoTextureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTargetGroup.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 512; platformSetting.format = TextureImporterFormat.ETC2_RGBA8; platformSetting.compressionQuality = 1; break; case BuildTargetGroup.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 512; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } logoTextureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(logoImporterPath); EditorUtility.SetDirty(logoTextureImporter); } var backGroundFromPath = "Assets/Editor/Logo/" + _versionName + "/Launch.png"; var backGroundToPath = "Assets/Resources/UI/Sprites/Launch.png"; AssetDatabase.DeleteAsset(backGroundToPath); AssetDatabase.CopyAsset(backGroundFromPath, backGroundToPath); var backGroundImporterPath = "Assets/Resources/UI/Sprites/Launch.png"; var backGrouindImporter = AssetImporter.GetAtPath(backGroundImporterPath); var backGroundTextureImporter = backGrouindImporter as TextureImporter; if (backGroundTextureImporter != null) { backGroundTextureImporter.textureType = TextureImporterType.Sprite; backGroundTextureImporter.spritePackingTag = string.Empty; backGroundTextureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTargetGroup.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.ETC2_RGB4; platformSetting.compressionQuality = 1; break; case BuildTargetGroup.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } backGroundTextureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(backGroundImporterPath); EditorUtility.SetDirty(backGroundTextureImporter); } var loginBackGroundFromPath = "Assets/Editor/Logo/" + _versionName + "/LoginBackGround.png"; var loginBackGroundToPath = "Assets/Resources/UI/Sprites/LoginBackGround.png"; AssetDatabase.DeleteAsset(loginBackGroundToPath); AssetDatabase.CopyAsset(loginBackGroundFromPath, loginBackGroundToPath); var loginBackGroundImporterPath = "Assets/Resources/UI/Sprites/LoginBackGround.png"; var loginBackGrouindImporter = AssetImporter.GetAtPath(loginBackGroundImporterPath); var loginBackGroundTextureImporter = loginBackGrouindImporter as TextureImporter; if (loginBackGroundTextureImporter != null) { loginBackGroundTextureImporter.textureType = TextureImporterType.Sprite; loginBackGroundTextureImporter.spritePackingTag = string.Empty; loginBackGroundTextureImporter.assetBundleName = string.Empty; var platformSetting = new TextureImporterPlatformSettings(); switch (buildTarget) { case BuildTargetGroup.Android: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "Android"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.ETC2_RGB4; platformSetting.compressionQuality = 1; break; case BuildTargetGroup.iOS: platformSetting.overridden = true; platformSetting.allowsAlphaSplitting = false; platformSetting.name = "iOS"; platformSetting.maxTextureSize = 1024; platformSetting.format = TextureImporterFormat.PVRTC_RGBA4; platformSetting.compressionQuality = 1; break; } loginBackGroundTextureImporter.SetPlatformTextureSettings(platformSetting); AssetDatabase.ImportAsset(loginBackGroundImporterPath); EditorUtility.SetDirty(loginBackGroundTextureImporter); } }