private AtlasOrFontConfig GetFontsDefault() { var config = new AtlasOrFontConfig(); config.iOS = TextureImporterFormat.AutomaticTruecolor; return(config); }
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(); } }
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(); } } }