protected override void InitializeExtraDataInstance(Object extraTarget, int targetIndex) { var obj = SpriteLibrarySourceAssetImporter.LoadSpriteLibrarySourceAsset(((AssetImporter) targets[targetIndex]).assetPath); if (obj != null) { var extraTargetSourceAsset = extraTarget as SpriteLibrarySourceAsset; extraTargetSourceAsset.library = obj.library; extraTargetSourceAsset.primaryLibraryID = obj.primaryLibraryID; } }
void OnPreprocessAsset() { if (assetImporter is SpriteLibrarySourceAssetImporter) { var obj = SpriteLibrarySourceAssetImporter.LoadSpriteLibrarySourceAsset(assetPath); if (obj != null) { SpriteLibraryAsset mainLibraryAsset = null; var mainLibraryAssetAssetPath = AssetDatabase.GUIDToAssetPath(obj.primaryLibraryID); mainLibraryAsset = AssetDatabase.LoadAssetAtPath <SpriteLibraryAsset>(mainLibraryAssetAssetPath); var so = new SerializedObject(obj); var library = so.FindProperty("m_Library"); SpriteLibraryDataInspector.UpdateLibraryWithNewMainLibrary(mainLibraryAsset, library); if (so.hasModifiedProperties) { so.ApplyModifiedPropertiesWithoutUndo(); SpriteLibrarySourceAssetImporter.SaveSpriteLibrarySourceAsset(obj, assetPath); } } } }