public static void Configure(TextureDescriptor texDesc, IReadOnlyDictionary <SubAssetKey, Texture> ExternalMap) { if (ExternalMap.TryGetValue(texDesc.SubAssetKey, out Texture external)) { if (ImporterGetter.TryGetImporter(external, out ImporterGetter getter)) { using (getter) { Configure(texDesc, external, getter.Importer); } } } }
public static bool TryGetImporter(Texture texture, out ImporterGetter getter) { var path = AssetDatabase.GetAssetPath(texture); if (String.IsNullOrEmpty(path)) { Debug.LogWarning($"{path} is not asset"); } else { if (AssetImporter.GetAtPath(path) is TextureImporter importer) { getter = new ImporterGetter(importer); return(true); } else { Debug.LogWarning($"{path}: fail to get TextureImporter"); } } getter = default; return(false); }