static void CleanupPostprocessors() { if (m_PostprocessStack != null) { m_PostprocessStack.RemoveAt(m_PostprocessStack.Count - 1); if (m_PostprocessStack.Count != 0) { PostprocessStack postStack = (PostprocessStack)m_PostprocessStack[m_PostprocessStack.Count - 1]; m_ImportProcessors = postStack.m_ImportProcessors; } } }
static void CleanupPostprocessors() { if (m_PostprocessStack != null) { m_PostprocessStack.RemoveAt(m_PostprocessStack.Count - 1); if (m_PostprocessStack.Count != 0) { PostprocessStack postStack = (PostprocessStack)m_PostprocessStack[m_PostprocessStack.Count - 1]; m_ImportProcessors = postStack.m_ImportProcessors; } } if (s_AnalyticsEventsStack.Peek().postProcessorCalls.Count != 0) { EditorAnalytics.SendAssetPostprocessorsUsage(s_AnalyticsEventsStack.Peek()); } s_AnalyticsEventsStack.Pop(); }
static void InitPostprocessors(AssetImportContext context, string pathName) { m_ImportProcessors = new ArrayList(); var analyticsEvent = new AssetPostProcessorAnalyticsData(); analyticsEvent.importActionId = ((int)Math.Floor(AssetImporter.GetAtPath(pathName).GetImportStartTime() * 1000)).ToString(); s_AnalyticsEventsStack.Push(analyticsEvent); // @TODO: This is just a temporary workaround for the import settings. // We should add importers to the asset, persist them and show an inspector for them. foreach (Type assetPostprocessorClass in GetCachedAssetPostprocessorClasses()) { try { var assetPostprocessor = Activator.CreateInstance(assetPostprocessorClass) as AssetPostprocessor; assetPostprocessor.assetPath = pathName; assetPostprocessor.context = context; m_ImportProcessors.Add(assetPostprocessor); } catch (MissingMethodException) { LogPostProcessorMissingDefaultConstructor(assetPostprocessorClass); } catch (Exception e) { Debug.LogException(e); } } m_ImportProcessors.Sort(new CompareAssetImportPriority()); // Setup postprocessing stack to support rentrancy (Import asset immediate) PostprocessStack postStack = new PostprocessStack(); postStack.m_ImportProcessors = m_ImportProcessors; if (m_PostprocessStack == null) { m_PostprocessStack = new ArrayList(); } m_PostprocessStack.Add(postStack); }
static void InitPostprocessors(string pathName) { m_ImportProcessors = new ArrayList(); // @TODO: This is just a temporary workaround for the import settings. // We should add importers to the asset, persist them and show an inspector for them. foreach (Type assetPostprocessorClass in GetCachedAssetPostprocessorClasses()) { try { var assetPostprocessor = Activator.CreateInstance(assetPostprocessorClass) as AssetPostprocessor; assetPostprocessor.assetPath = pathName; m_ImportProcessors.Add(assetPostprocessor); } catch (MissingMethodException) { LogPostProcessorMissingDefaultConstructor(assetPostprocessorClass); } catch (Exception e) { Debug.LogException(e); } } m_ImportProcessors.Sort(new CompareAssetImportPriority()); // Setup postprocessing stack to support rentrancy (Import asset immediate) PostprocessStack postStack = new PostprocessStack(); postStack.m_ImportProcessors = m_ImportProcessors; if (m_PostprocessStack == null) { m_PostprocessStack = new ArrayList(); } m_PostprocessStack.Add(postStack); }