示例#1
0
        private AtlasOrFontConfig GetFontsDefault()
        {
            var config = new AtlasOrFontConfig();

            config.iOS = TextureImporterFormat.AutomaticTruecolor;
            return(config);
        }
示例#2
0
        public override void DrawAssetConfigGUI(AssetItemConfigBase assetItemConfigBase)
        {
            AtlasOrFontConfig config = (AtlasOrFontConfig)assetItemConfigBase;

            // per platform settings
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Max Texture Size");
            config.maxTextureSize =
                EditorGUILayout.IntPopup(config.maxTextureSize, sizeStrings, sizes);
            EditorGUILayout.EndHorizontal();

            // mip maps
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Generate Mip Maps");
            config.mipmapEnabled = EditorGUILayout.Toggle(config.mipmapEnabled);
            EditorGUILayout.EndHorizontal();

            //read write enabled
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Read/Write Enabled");
            config.isReadable = EditorGUILayout.Toggle(config.isReadable);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Alpha Mip");
            config.alphaMip = EditorGUILayout.Toggle(config.alphaMip);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Strip Alpha Channel");
            config.stripAlpha = EditorGUILayout.Toggle(config.stripAlpha);
            EditorGUILayout.EndHorizontal();

            GUILayout.Space(20);
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Standalone TextureFormat");
                config.standalone = (TextureImporterFormat)EditorGUILayout.EnumPopup(config.standalone);
                EditorGUILayout.EndHorizontal();
            }

            GUILayout.Space(5);
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Android TextureFormat");
                config.Android = (TextureImporterFormat)EditorGUILayout.EnumPopup(config.Android);
                EditorGUILayout.EndHorizontal();
            }

            GUILayout.Space(5);
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("iOS TextureFormat");
                config.iOS = (TextureImporterFormat)EditorGUILayout.EnumPopup(config.iOS);
                EditorGUILayout.EndHorizontal();
            }
        }
示例#3
0
        public override void SetImporterByConfig(AssetImporter assetImporter, AssetItemConfigBase config)
        {
            IEnumerable <string> texPaths = null;

            if (assetImporter is TextureImporter)
            {
                texPaths = new[] { assetImporter.assetPath };
            }
            else
            {
                texPaths = AssetDatabase.GetDependencies(assetImporter.assetPath)
                           .Where(item => item.Contains(Path.GetFileNameWithoutExtension(assetImporter.assetPath)) && AssetImporter.GetAtPath(item) is TextureImporter);
            }

            foreach (string path in texPaths)
            {
                TextureImporter   importer         = (TextureImporter)AssetImporter.GetAtPath(path);
                AtlasOrFontConfig atlasConfig      = (AtlasOrFontConfig)config;
                List <string>     setFiledInfoList = new List <string>()
                {
                    "maxTextureSize", "mipmapEnabled", "isReadable"
                };
                bool dirty = false;
                foreach (var item in setFiledInfoList)
                {
                    dirty |= TrySetField(item, config, importer);
                }
                foreach (KeyValuePair <string, BuildTarget> keyValuePair in buildTargets)
                {
                    var format = atlasConfig.GetFormatByTarget(keyValuePair.Value);
                    int maxTextureSize;
                    TextureImporterFormat oldFormat;
                    if (importer.GetPlatformTextureSettings(keyValuePair.Key, out maxTextureSize, out oldFormat) == false ||
                        oldFormat != format ||
                        maxTextureSize != atlasConfig.maxTextureSize)
                    {
                        importer.SetPlatformTextureSettings(keyValuePair.Key, atlasConfig.maxTextureSize, format);
                        dirty = true;
                    }
                }
                if (importer.textureType != TextureImporterType.Default)
                {
                    importer.textureType = TextureImporterType.Default;
                    dirty = true;
                }
                if (dirty)
                {
                    importer.SaveAndReimport();
                }
            }
        }