Example #1
0
        public static void ApplyRulesToTexture(TextureImporter textureImporter,
                                               TextureImportRule.TextureImportData data)
        {
            if (null == textureImporter)
            {
                return;
            }
            if (textureImporter.textureType != data.TextureImporterType)
            {
                textureImporter.textureType = data.TextureImporterType;
            }
            textureImporter.isReadable    = data.IsReadWriteEnable;
            textureImporter.mipmapEnabled = data.IsMinMap;
            if (data.MaxTextureSize > 0)
            {
                textureImporter.maxTextureSize = data.MaxTextureSize;
            }
            TextureImporterPlatformSettings settingAndroid = textureImporter.GetPlatformTextureSettings("Android");

            settingAndroid.overridden         = true;
            settingAndroid.format             = data.AndroidImporterFormat;
            settingAndroid.textureCompression = data.AndroidImporterCompression;
            settingAndroid.maxTextureSize     = textureImporter.maxTextureSize;
            textureImporter.SetPlatformTextureSettings(settingAndroid);

            TextureImporterPlatformSettings settingIos = textureImporter.GetPlatformTextureSettings("iPhone");

            settingIos.overridden         = true;
            settingIos.format             = data.IphoneImporterFormat;
            settingIos.textureCompression = data.IphoneImporterCompression;
            settingIos.maxTextureSize     = textureImporter.maxTextureSize;
            textureImporter.SetPlatformTextureSettings(settingIos);
            textureImporter.SaveAndReimport();
        }
Example #2
0
 public static void ReImportTextures(TextureImportRule.TextureImportData data)
 {
     if (data == null)
     {
         return;
     }
     string[] guids = AssetDatabase.FindAssets("t:Texture", new string[] { data.AssetPath });
     for (int i = 0; i < guids.Length; i++)
     {
         string path = AssetDatabase.GUIDToAssetPath(guids[i]);
         if (string.IsNullOrEmpty(path))
         {
             continue;
         }
         string dir = path.Remove(path.LastIndexOf('/'));
         if (!dir.Equals(data.AssetPath))
         {
             continue;
         }
         string fileName = path.Substring(path.LastIndexOf('/') + 1);
         if (!data.IsMatch(fileName))
         {
             continue;
         }
         TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;
         if (null != textureImporter)
         {
             ApplyRulesToTexture(textureImporter, data);
         }
     }
 }
Example #3
0
        public static void TextureImport(TextureImporter textureImporter)
        {
            if (null == textureImporter)
            {
                return;
            }
            string dir  = textureImporter.assetPath.Remove(textureImporter.assetPath.LastIndexOf('/'));
            string name = textureImporter.assetPath.Substring(textureImporter.assetPath.LastIndexOf('/') + 1);

            TextureImportRule.TextureImportData data = ImportRule.GetRule(dir, name);
            if (data != null)
            {
                ApplyRulesToTexture(textureImporter, data);
            }
        }