少年修仙传客户端基础资源
client_Wu Xijin
2018-10-25 f73a4a195002e7d38442c89c2b12ae859455394d
4334 【前端】随包资源支持热更
2个文件已修改
2个文件已添加
292 ■■■■■ 已修改文件
Assets/Editor/Tool/BuildExtersion.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/BuiltInResourceSetting.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/BuiltInResourceSetting.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/ClientPackage.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | 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);
        }
    }